百度地图的初步接触

百度地图开发平台网址http://lbsyun.baidu.com/index.php?title=首页
程序所需资源  http://pan.baidu.com/s/1pLwGmMZ
代码框架
百度地图的初步接触_第1张图片

程序效果




一丶创建应用

创建一个新应用需要这三样东西,具体如何获得请往下看

百度地图的初步接触_第2张图片


获得 开发版SHA1    
出现输入秘钥口令后按下回车即可
复制SHA1YESHI1按下回车即可

百度地图的初步接触_第3张图片
开发版SHA1为    EA:F4:F3:B1:2E:F2:4B:16:87:82:96:75:68:D4:EC:CE:D9:23:8E:88

获得 发布版SHA1

百度地图的初步接触_第4张图片

用一个小程序可以非常方便的获得发布版SHA1

获得的信息如下

应用名 -> baiduMapDemo
版本号 -> 1.0(1)
包名 -> com.dubuwucool.baidumapdemo
SHA1 -> EA:F4:F3:B1:2E:F2:4B:16:87:82:96:75:68:D4:EC:CE:D9:23:8E:88
key(ak) ->

发布版SHA1为EA:F4:F3:B1:2E:F2:4B:16:87:82:96:75:68:D4:EC:CE:D9:23:8E:88
通常情况下发布版SHA1和开发版SHA1是一致的

获得包名com.dubuwucool.baidumapdemo
注意:用上一步的软件或清单文件都可以获取包名,但从gradle文件中获取更为稳妥
百度地图的初步接触_第5张图片


具体创建过程如下



完成后获得key值 a5dkzXGjAlMhVBzaDxxe4w6o0I4hMzYh

验证key是否能用
百度地图的初步接触_第6张图片


二丶下载sdk并进行相关配置

选择所需功能并下载
百度地图的初步接触_第7张图片


下载完成后解压,并将libs文件夹下的所有文件粘贴到程序下的libs文件夹
百度地图的初步接触_第8张图片

完成后在gradle文件进行修改
百度地图的初步接触_第9张图片


完成后点击右上角的同步,框架中出现jniLibs文件夹并且代码中有提示则导入成功
百度地图的初步接触_第10张图片


三丶创建MyApplication类

/**
  * function: 因为 sdk 各功能组件使用之前需要调用 SDKInitializer.initialize( 上线文 )
 *  所以把该方法放在 Application 的初始化方法中 , 新建一个类继承 Application
 *  并在清单文件进行配置 android:name=".MyApplication"
 *  之后覆写 onCreate 方法 , 进行初始化
  */
public class MyApplication  extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // 注册一个 key 验证是否是正确的广播所有者 , 我们在开发时经常有一些验证 , 比如验证网络等
        // 创建一个 BroadcastReceiver 的内部类
        BroadcastReceiver broadcastReceiver =  new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                // 得到系统传过来的 String
                String s = intent.getAction();
                // 创建空的字符串
                String msg =  null;
                // 判断字符串是否相同
                if (s.equals(SDKInitializer. SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_OK)) {
                    msg =  " 验证 key 成功 ";
                }  else if (s.equals(SDKInitializer. SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR)) {
                    msg =  " 验证 key 失败 ";
                }  else if (s.equals(SDKInitializer. SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR)) {
                    msg =  " 网络连接失败 ";
                }
                Toast. makeText(MyApplication. this, msg, Toast. LENGTH_SHORT).show();
            }
        };
        // 代码进行广播注册 , 也可在清单文件中注册
        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_ACTION_STRING_PERMISSION_CHECK_OK);

        // 进行广播注册
        registerReceiver(broadcastReceiver,filter);
          //初始化百度地图
        SDKInitializer. initialize(getApplicationContext());
    }
}
四丶修改清单文件
1.添加权限
2.配置MyApplication
3. 百度地图用到的Values值
xml version= "1.0"  encoding= "utf-8" ?>
< manifest  xmlns: android = "http://schemas.android.com/apk/res/android"
          package= "com.dubuwucool.baidumapdemo">
    < uses-permission  android :name= "com.android.launcher.permission.READ_SETTINGS" />
   
    < uses-permission  android :name= "android.permission.ACCESS_COARSE_LOCATION" />
   
    < uses-permission  android :name= "android.permission.ACCESS_FINE_LOCATION" />
   
    < uses-permission  android :name= "android.permission.ACCESS_WIFI_STATE" />
   
    < uses-permission  android :name= "android.permission.ACCESS_NETWORK_STATE" />
   
    < uses-permission  android :name= "android.permission.READ_PHONE_STATE" />
   
    < uses-permission  android :name= "android.permission.WRITE_EXTERNAL_STORAGE" />
   
    < uses-permission  android :name= "android.permission.INTERNET" />
    < application
        android :allowBackup= "true"
        android :icon= "@mipmap/ic_launcher"
        android :label= "@string/app_name"
        android :supportsRtl= "true"
        android :theme= "@style/AppTheme"
       android:name=".MyApplication">     
          
        < meta-data
            android :name= "com.baidu.lbsapi.API_KEY"
           android:value="a5dkzXGjAlMhVBzaDxxe4w6o0I4hMzYh
/>
        < activity  android :name= ".MainActivity">
            < intent-filter>
                < action  android :name= "android.intent.action.MAIN"/>

                < category  android :name= "android.intent.category.LAUNCHER"/>
            intent-filter>
        activity>
    application>
manifest>

五丶主窗体布局及代码
xml version= "1.0"  encoding= "utf-8" ?>
< RelativeLayout
    xmlns: android = "http://schemas.android.com/apk/res/android"
    xmlns: tools = "http://schemas.android.com/tools"
    android :layout_width= "match_parent"
    android :layout_height= "match_parent"
    tools :context= "com.dubuwucool.baidumapdemo.MainActivity">
     
   < com.baidu.mapapi.map.MapView
        android :id= "@+id/mapView"
        android :layout_width= "match_parent"
        android :layout_height= "match_parent">com.baidu.mapapi.map.MapView>
RelativeLayout>

主窗体代码
public class MainActivity  extends AppCompatActivity {

    private MapView  mapView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout. activity_main);
        initView();
        // 设置是否显示比例尺
        mapView.showScaleControl( false);
        // 设置是否显示缩放按钮
        mapView.showZoomControls( true);
    }

    private void initView() {
        mapView = (MapView) findViewById(R.id. mapView);
    }
}

 

你可能感兴趣的:(百度地图的初步接触)