Android 高德地图显(Maps)初步
高德地图 Android API 是一套简单的地图应用开发调用接口,可支持地图显示与操作,兴趣点搜索,地理编码与基站定位等功能;开发者可以轻松地将其嵌入自己的应用程序,而且提供稳定的位置及地图应用程序。且提供详细的中文帮助文档。闲话少说,现在我们就开始高德地图开发之旅:
1.在浏览器中输入以下网址http://api.amap.com/Android/download下载高德地图API开发包
2.新建android项目并将MapApi.jar导入到项目中
3.新建一个类并让其继承MapActivity(MapActivity 是一个抽象类,任何想要显示MapView 的activity 都需要派生自MapActivity。并且在其派生类的onCreate() 中,都要创建一个MapView 实例。)例如:
package com.demo.amap; import com.amap.mapapi.core.GeoPoint; import com.amap.mapapi.map.MapActivity; import com.amap.mapapi.map.MapController; import com.amap.mapapi.map.MapView; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class AmapActivity extends MapActivity { private MapView mapView; private MapController mapController; private GeoPoint geoPoint; /** *显示栅格地图,启用内置缩放控件,并用MapController 控制地图的中心点及Zoom 级别 */ @Override public void onCreate(Bundle savedInstanceState) { //设置地图显示模式 this.setMapMode(MAP_MODE_VECTOR);//矢量显示 //this.setMapMode(MAP_MODE_BITMAP);//栅格显示 super.onCreate(savedInstanceState); setContentView(R.layout.activity_amap); mapView = (MapView)findViewById(R.id.mapView); mapView.setBuiltInZoomControls(true);//设置启用内置缩放控件 mapController = mapView.getController();//得到mapview的控制权,可以用它来控制和驱动平移和缩放 geoPoint = new GeoPoint((int) (39.982378 * 1E6), (int) (116.304923 * 1E6));//用给定的经纬度构造一个GeoPoint,单位是微度(度* 1E6) mapController.setCenter(geoPoint);//设置地图中心 mapController.setZoom(12);//设置缩放级别地图级别 } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_amap, menu); return true; } }
4.在布局文件中加入MapView,例如:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:autonavi="http://schemas.android.com/apk/res/com.AMap" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <com.amap.mapapi.map.MapView android:id="@+id/mapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" /> </LinearLayout>
5.在Androidmanfest.xml中加入所需要的权限
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
到目前为止所有的准备工作都已经完成了,接下来只需要运行一下就行了,运行后的图片如下:
备注:如果有疑问可参考高德地图的官方网站:http://api.amap.com/Android
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库