怎么调用百度地图

    xiaoxiao2025-03-14  12

    百度地图移动版API(Android)是一套基于Android设备的应用程序接口,通过该接口,可以轻松访问百度服务和数据,构建功能丰富、交互性强的地图应用程序。

    百度地图移动版API不仅包含构建地图的基本接口,还提供了本地搜索、路线规划、地图定位等数据服务

    1.申请安全码

    :31:E1:62:E6:B6:0C:47:97:D0:12:AE:67:3C:76:02:E3:D3:41:06:70;com.myhome(SHA1+包名);

    得到SHA1步骤--------打开命令行输入cd .android 进入到android签名目录 如:C:\Users\lenovo\.android --------命令 "C:\Program Files\Java\jdk1.6.0_45\bin\keytool.exe" -list -v -keystore debug.keystore 密码是android 数字签名;包名 分号是英文的  

    --------自己的keystore就是自己设置的密码,debug默认密码是android.上面的路径是jdk下面的keytool工具,找到他就OK了

    百度给的key----R71uEhgENKmCZtoATu3km7KNuhX3536V

    2.创建工程  (一定要是安全码中的包名)

    3.导包

    >>libBaiduMapSDK_v3_3_0_15.so>>liblocSDK5.so>>baidumapapi_v3_3_0.jar>>locSDK_5.0.jar(还有个v7a,可以加速)

    4.加权限

    <!-- 这个权限用于进行网络定位-->

    <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.ACCESS_WIFI_STATE"></uses-permission>

    <!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></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>

    <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <!-- 访问网络,网络定位需要上网-->

    <uses-permission android:name="android.permission.INTERNET" />

    <!-- SD卡读取权限,用户写入离线定位数据-->

    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>

    <!--允许应用读取低级别的系统日志文件 -->

    <uses-permission android:name="android.permission.READ_LOGS"></uses-permission>

     

    5.配置

    application节点下配置

    <meta-data

               android:name="com.baidu.lbsapi.API_KEY"

             android:value="R71uEhgENKmCZtoATu3km7KNuhX3536V" /> 自己申请的key

    6.  <com.baidu.mapapi.map.MapView

           android:id="@+id/mapview"

            android:layout_width="match_parent"

          android:layout_height="match_parent"/>

    7.模板代码

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    initSDK();   //一定要写在setContentView之前

    setContentView(R.layout.activity_hello_world);

    }

     

    private void initSDK() {

    //初始化化地图引擎 校验KEY

    SDKInitializer.initialize(getApplicationContext());//必须传递全局Context

    IntentFilter filter = new IntentFilter();

    filter.addAction(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR);

    filter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR);

    filter.addAction(SDKInitializer.SDK_BROADTCAST_INTENT_EXTRA_INFO_KEY_ERROR_CODE);

    registerReceiver(new SDKBroaCast(), filter);

    }

    private class SDKBroaCast extends BroadcastReceiver{

     

    @Override

    public void onReceive(Context context, Intent intent) {

    String result = intent.getAction();

    if (result.equals(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR)) {//网络错误

    System.out.println("网络错误");

    }else if (result.equals(SDKInitializer.SDK_BROADTCAST_INTENT_EXTRA_INFO_KEY_ERROR_CODE)) {//KEY 校验失败

    System.out.println("KEY 校验失败");

    }else if (result.equals(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR)) {//KEY验证失败广播

    System.out.println("KEY验证失败广播");

    }

    }

    大功告成.

    接下来跟着百度的api一起飞吧.

     

     
    转载请注明原文地址: https://ju.6miu.com/read-1297021.html
    最新回复(0)