• Android之旅十八 百度地图环境搭建


    在android中使用百度地图,我们能够先看看百度地图对应的SDK信息:http://developer.baidu.com/map/index.php?

    title=androidsdk,它里面基本上有关于android中的全部配置、api调用等操作方法。以下我们来看看百度地图在android中环境的搭建步骤:我们这里使用的百度地图版本号为

    Android SDK v3.1.1。版本号不同,里面的API可能不一样,所以希望大家可以注意。。


    一、申请密钥。不管是开发谷歌地图还是百度地图我们都须要申请密钥,当然申请之前我们还得注冊成为百度的用户,否则是申请不到的,密钥的android版申请步骤:http://developer.baidu.com/map/index.php?

    title=androidsdk/guide/key,注意里面配置的安全码不能随便填写,否则会出现看不到地图等一系列的问题。安全码必须是全码的组成规则为:Android签名证书的sha1值+“;”+packagename(即:数字签名+分号+包名),关于sha1签名证书的值的获取,里面有对应的操作方法,填写完对应信息后,就会出现一个对应的24位的ak,就是我们的密钥,我们得把它记录下来;

    二、下载android版百度地图SDK:http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download,建议下载所有,里面包括开发包、文档和演示样例,也能够在我的博客资源中进行下载:http://download.csdn.net/detail/harderxin/8002031


    三、新建androidproject项目。将下载的libs包文件拷入到项目中,当中baidumapapi_v3_1_1.jar表示开发百度地图必须使用的包,而liblocSDK3.so和locSDK_3.1.jar为百度定位SDK所使用资源,开发人员可依据实际需求自行加入。将其jar包引入到项目project中,拷贝后的项目包例如以下图:


    四、打开我们项目的AndroidMainifest.xml文件,在Application以下将我们在上面得到的密钥放入到meta信息中:

    <application>  
        <meta-data  
            android:name="com.baidu.lbsapi.API_KEY"  
            android:value="开发人员 key" />  
    </application>
    在AndroidMainifest.xml中加入百度相关权限:

    	<uses-permission android:name="android.permission.GET_ACCOUNTS" />  
    	<uses-permission android:name="android.permission.USE_CREDENTIALS" />  
    	<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />  
    	<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />  
    	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
    	<uses-permission android:name="android.permission.INTERNET" />  
    	<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />  
    	<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />  
    	<uses-permission android:name="android.permission.ACCESS_WIFI_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.BROADCAST_STICKY" />  
    	<uses-permission android:name="android.permission.WRITE_SETTINGS" />  
    	<uses-permission android:name="android.permission.READ_PHONE_STATE" />
    加入对屏幕的支持:

      <supports-screens
            android:anyDensity="true"
            android:largeScreens="true"
            android:normalScreens="false"
            android:resizeable="true"
            android:smallScreens="true" />

    五、在main.xml中加入百度地图显示控件:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <com.baidu.mapapi.map.MapView
            android:id="@+id/bmapView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:clickable="true" />
    
    </LinearLayout>

    六、在MainActivity中引入百度地图API。编写相关代码:

    package com.xin.activity;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    import com.baidu.mapapi.SDKInitializer;
    import com.baidu.mapapi.map.BaiduMap;
    import com.baidu.mapapi.map.MapView;
    
    public class MainActivity extends Activity {
    	private MapView mMapView = null;
    	private BaiduMap baiduMap;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		// 在使用SDK各组件之前初始化context信息,传入ApplicationContext
    		// 注意该方法要再setContentView方法之前实现
    		SDKInitializer.initialize(getApplicationContext());
    		setContentView(R.layout.main);
    		// 获取地图控件引用
    		mMapView = (MapView) findViewById(R.id.bmapView);
    		baiduMap=mMapView.getMap();
    		//设置地图类型为普通地图
    		//baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
    		//设置地图类型为卫星地图
    		//baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
    		//开启交通图
    		baiduMap.setTrafficEnabled(true);
    	}
    
    	@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();
    	}
    <span style="font-size:18px;">}</span>
    七、运行项目,在我们的模拟器上出现地图显示,即环境搭建成功。!



    我在代码中控制了显示交通地图:baiduMap.setTrafficEnabled(true);所以会出现这种效果。百度里面提供了非常多api供我们參考使用,比如标注、覆盖物、公交查询等信息,我们能够依据自己的须要来编写相关代码。这里的环境搭建仅仅起到了一个抛砖引玉的作用。以后的拓展,还得依据项目需求自己去设计实现:

    百度在线API:http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/v3_1_1/

    百度基础地图:http://developer.baidu.com/map/index.php?title=androidsdk/guide/basicmap

  • 相关阅读:
    A1066 Root of AVL Tree (25 分)
    A1099 Build A Binary Search Tree (30 分)
    A1043 Is It a Binary Search Tree (25 分) ——PA, 24/25, 先记录思路
    A1079; A1090; A1004:一般树遍历
    A1053 Path of Equal Weight (30 分)
    A1086 Tree Traversals Again (25 分)
    A1020 Tree Traversals (25 分)
    A1091 Acute Stroke (30 分)
    A1103 Integer Factorization (30 分)
    A1032 Sharing (25 分)
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5183990.html
Copyright © 2020-2023  润新知