android( 在APP中显示高德地图SDK)

【android( 在APP中显示高德地图SDK)】博观而约取,厚积而薄发。这篇文章主要讲述android: 在APP中显示高德地图SDK相关的知识,希望能为你提供帮助。
一、搭建环境参考资料:http://lbs.amap.com/api/android-sdk/guide/create-project/android-studio-create-project  1)新建一个工程;2)到高德开放平台申请key,可以参考:http://lbs.amap.com/api/android-sdk/guide/create-project/get-key  3)在androidManifest.xml的application标签内添加

< meta-data
android:name="com.amap.api.v2.apikey"
android:value="https://www.songbingjia.com/android/your key" />

< service android:name="com.amap.api.location.APSService" >


4)在AndroidManifest的manifest元素内添加如下权限:
< !--用于进行网络定位-->
< uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"> < /uses-permission>
< !--用于访问GPS定位-->
< uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"> < /uses-permission>
< !--用于获取运营商信息,用于支持提供运营商信息相关的接口-->
< uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"> < /uses-permission>
< !--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
< uses-permission android:name="android.permission.ACCESS_WIFI_STATE"> < /uses-permission>
< !--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
< uses-permission android:name="android.permission.CHANGE_WIFI_STATE"> < /uses-permission>
< !--用于访问网络,网络定位需要上网-->
< uses-permission android:name="android.permission.INTERNET"> < /uses-permission>
< !--用于读取手机当前的状态-->
< uses-permission android:name="android.permission.READ_PHONE_STATE"> < /uses-permission>
< !--用于写入缓存数据到扩展存储卡-->
< uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"> < /uses-permission>
< !--用于申请调用A-GPS模块-->
< uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"> < /uses-permission>
< !--用于申请获取蓝牙信息进行室内定位-->
< uses-permission android:name="android.permission.BLUETOOTH"> < /uses-permission>
< uses-permission android:name="android.permission.BLUETOOTH_ADMIN"> < /uses-permission>

5)在Project的build.gradle的如下位置添加如下代码:android{        defaultConfig{              ndk{
      //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
              abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","arm64-v8a","x86_64"

      }     

      }     }6)在Project的build.gradle的如下位置添加如下代码,只关注高亮部分。
dependencies {
compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
androidTestCompile(‘com.android.support.test.espresso:espresso-core:2.2.2‘, {
exclude group: ‘com.android.support‘, module: ‘support-annotations‘
})
compile ‘com.android.support:appcompat-v7:25.3.1‘
compile ‘com.android.support.constraint:constraint-layout:1.0.2‘
//3D地图so及jar
compile ‘com.amap.api:3dmap:latest.integration‘
//定位功能
compile ‘com.amap.api:location:latest.integration‘
//搜索功能
compile
‘com.amap.api:search:latest.integration‘

testCompile ‘junit:junit:4.12‘
}

7)在Project的build.gradle的如下位置添加如下代码,只关注高亮部分。



二、写代码


以下内容参考:http://lbs.amap.com/api/android-sdk/guide/create-map/show-map 

1)在activity_main.xml文件内添加

< com.amap.api.maps.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"/>


2)将MainActivity.java的内容改为如下

public class MainActivity extends Activity { MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取地图控件引用 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); } }


















































    推荐阅读