您的位置:首页 > 其它

高德基本地图的实现继承

2017-10-18 15:45 375 查看
接下来,给大家写一下高德基本地图的实现继承过程:



在高德开发平台(官网)上下载相关SDK和Demon

第一个和第二个都可以,第一个2D,3D相关内容都有,第二个下载就是自己选择了,这里新手推荐第一个下载。





下载后解压3DMap,会生成一个jar包,先导入工程中。接下来就要生成一个自己的key值,这个key值每个人都是不一样的,且,一个工程对应唯一的一个key值,

点击控制台。



应用管理中,创建自己的应用





这里就自己填写就行,点击创建,添加新key





这里主要讲一下如何获取SHA1,比较简单的一种方法,打开cmd窗口



在弹出的控制台窗口中输入 cd .android 定位到 .android
文件夹。



继续在控制台输入命令。

debug.keystore:命令为:keytool -list -v -keystore debug.keystore

自定义的 keystore:命令为:keytool -list -v -keystore apk的keystore



提示输入密钥库密码,编译器提供的debug
keystore默认密码是 android,自定义签名文件的密码请自行填写。输入密钥后回车(如果没设置密码,可直接回车),此时可在控制台显示的信息中获取 SHA1 值,如下图所示:



这里就得到SHA1了,提交自己的key值就好了,

3D地图才需要添加so库,2D地图无需这一步骤。因为我们解压的文件是3D,所以创建新文件

在 main 目录下创建文件夹 jniLibs (如果有就不需要创建了),将下载文件的 armeabi 文件夹复制到这个目录下,如果已经有这个目录,将下载的 so 库复制到这个目录即可。如图所示: 



接下来就要在工程中写代码了:先配置权限:

[html] view plain copy <!--允许程序打开网络套接字-->  
    <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" />  
    <!--用于进行网络定位-->  
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>  
    <!--用于访问GPS定位-->  
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>  
    <!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->  
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>  
    <!--用于读取手机当前的状态-->  
    <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>  
    <!--用于申请调用A-GPS模块-->  
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>  

添加自己的key值:


[html] view
plain copy

<meta-data  

            android:name="com.amap.api.v2.apikey"  

            android:value="自己的key值"/>  

在MainActivity中:

[html] view
plain copy

package com.bwie.test.mybasemap;  

  

import android.support.v7.app.AppCompatActivity;  

import android.os.Bundle;  

  

import com.amap.api.maps.AMap;  

import com.amap.api.maps.MapView;  

  

public class MainActivity extends AppCompatActivity {  

  

    @Override  

    protected void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.activity_main);  

        MapView mapView = (MapView) findViewById(R.id.map);//找到地图控件  

        //在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图  

        mapView.onCreate(savedInstanceState);  

        AMap aMap = mapView.getMap();//初始化地图控制器对象  

    }  

}  

在布局文件中:activity_main.xml:

[html] view
plain copy

<com.amap.api.maps.MapView  

        android:id="@+id/map"  

        android:layout_width="match_parent"  

        android:layout_height="match_parent">  

    </com.amap.api.maps.MapView>  

到这,高德的基本地图就继承完毕了,效果如下:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: