zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    IM 融云 之 初始化及登录
    IM 融云 之 安装cocoapods 安装 SDK
    github desktop 下载
    iOS 架构模式
    IM 融云 之 通讯能力库API
    IM 融云 之 开发基础概念
    IM 之 融云
    php获得文件的属性
    js模拟复制
    linux修改yum源
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5183990.html
Copyright © 2011-2022 走看看