内容简介:分为地图,定位,搜索(我还没做导航功能)建议采用gradle方式集成在project/build.gradle文件下添加jcenter的仓库地址
分为地图,定位,搜索(我还没做导航功能)
建议采用gradle方式集成
添加依赖
在project/build.gradle文件下添加jcenter的仓库地址
allprojects { repositories { jcenter() // 或者 mavenCentral() } }
在app/build.gradle下添加依赖
android { defaultConfig { ndk { //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so) abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64" } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) //3D地图so及jar compile 'com.amap.api:3dmap:latest.integration' //定位功能 compile 'com.amap.api:location:latest.integration' //搜索功能 compile 'com.amap.api:search:latest.integration' }
navi导航SDK 5.0.0以后版本包含了3D地图SDK,所以请不要同时引入 map3d 和 navi SDK。
添加权限
在AndroidManifest.xml文件下添加权限
<!--允许程序打开网络套接字--> <uses-permission android:name="android.permission.INTERNET" /> <!--允许程序设置内置sd卡的写权限--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--允许程序获取网络状态--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序访问WiFi网络信息--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!--允许程序读写手机状态和身份--> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!--允许程序访问CellID或WiFi热点来获取粗略的位置--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
添加高德key
如何获取key看这里 -> 点我查看Key注册时必要数据SHA1和包名的获取方法
建议同时设置debug和release状态下的key,方便App在debug模式下也能使用高德地图功能.
在app/build.gradle下设置两种key
android { buildTypes { debug { manifestPlacesholders = [ //左边的键MAP_API_KEY是自定义的名字,右边的debug-key-value是你申请的debug下的key值 "MAP_API_KEY" : "debug-key-value" ] } release{ manifestPlacesholders = [ //左边的键MAP_API_KEY要和debug下的保持一致,右边的release-key-value是你申请的release下的key值 "MAP_API_KEY" : "release-key-value" ] } } }
在AndroidManifest.xml中添加key
<application> <meta-data android:name="com.amap.api.v2.apikey" //要和app/build.gradle文件中设置的保持一致 android:value="${MAP_API_KEY}"/> </application>
使用地图
在布局中引入地图MapView
// R.layout.activity_your_activity <com.amap.api.maps.MapView android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent"/>
管理地图的生命周期(非常重要),以Activity为例
public class YourActivity extends AppcompatActivity{ MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_your_activity); //获取地图控件引用 mMapView = (MapView) findViewById(R.id.map); //在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图 mMapView.onCreate(savedInstanceState); } @Override protected void onDestroy() { super.onDestroy(); //在activity执行onDestroy时执行mMapView.onDestroy(),销毁地图 mMapView.onDestroy(); } @Override protected void onResume() { super.onResume(); //在activity执行onResume时执行mMapView.onResume (),重新绘制加载地图 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); //在activity执行onPause时执行mMapView.onPause (),暂停地图的绘制 mMapView.onPause(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); //在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),保存地图当前的状态 mMapView.onSaveInstanceState(outState); } }
构造一个AMap对象
if(mAMap == null){ mAMap = mapView.getMap(); }
初始化地图的相关属性
- 地图缩放级别
mAMap.animateCamera(CameraUpdateFactory.zoomTo(float zoomLevel));
显示定位蓝点
未完待续
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 极益发布地图插件,用于背景地图与业务地图
- Java - 调用 echarts 提供的地图压缩方法压缩地图
- VUE 记一次高德地图和Echarts(中国地图)
- 高德地图附近地图改版 场景化个性化推荐身边好去处
- 地图初创公司 Mapbox 与微软、ARM及英特尔达成合作,加码无人驾驶地图
- 百度地图 osm地图 leaflet echarts webapck的组合使用时的踩坑记录
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Alone Together
Sherry Turkle / Basic Books / 2011-1-11 / USD 28.95
Consider Facebookit’s human contact, only easier to engage with and easier to avoid. Developing technology promises closeness. Sometimes it delivers, but much of our modern life leaves us less connect......一起来看看 《Alone Together》 这本书的介绍吧!