在应用开发中,地图开发是经常需要使用的“组件”,国内比较出名的是就是百度地图和高德地图。

此博客讲的是高德地图实现定位和3D地图显示,并标注相应位置,话不多说,先看看效果,在上代码。

 效果如图:

        

首先注册高德成为开发者(打开高德地图,点击底部的开发者平台),创建应用,按照要求填写相应信息,如下图:

        

途中包含了发布版的SHA1安全码和测试版SHA1安全码,两者的值可以看  博客 : Android Studio apk打包,keystore.jks文件生成,根据keystore密钥获取SHA1安全码 

讲的很详细,照做就一定会成功获取的。

首先导入高德的jar包

选中jar包右键点击  Add As Library, 在build.fradle中看到如下代码 表示导包成功

    compile files(\'libs/AMap_Location_V3.0.0_20160922.jar\')
    compile files(\'libs/AMap_Search_V3.5.0_20160927.jar\')
    compile files(\'libs/AMap_3DMap_V4.1.1_20161019.jar\')

 

注:项目代码目录中要添加一个接口文件  JniLibs 的os文件  才能绘制地图,具体下载源码查看,就不详细描述了

AndroidManifest.xml中加入权限

<!--允许程序打开网络套接字-->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- 定位 -->
    <!-- 用于访问GPS定位 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
    <!--允许程序设置内置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" />

<application>标签中添加Key值信息

<meta-data
  android:name="com.amap.api.v2.apikey"
  android:value="32c4bc659a111616d9b1196522223206"></meta-data>
   <!-- 定位需要的服务 -->
<service android:name="com.amap.api.location.APSService"></service>

 

如果只实现高德定位可查看: Android Studio 中实现高德定位并获取相应信息 

讲的很详细;有疑问的请留言。

 

代码Github: https://github.com/DickyQie/android-map/tree/high-moral-display-map

版权声明:本文为zhangqie原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhangqie/p/6441055.html