百度地圖之一百度地圖搭建開發環境

百度地圖移動版介紹:

  1.百度地圖移動版API是一套基於移動互聯網設備的應用程序接口,支持ios/android平臺。

  2.通過該接口,您可以輕鬆訪問百度服務和數據,構建功能豐富、交互性強的地圖應用程序。百度地圖移動API不僅包含構建地圖的基本接口,還提供了諸如定位服務、本地搜索、路線規劃等數據服務,你可以根據自己的需要進行選擇。

關於百度地圖修改的BUG

  1.百度地圖移動版API 1.3.3版本(Android)

      2.修改國外gps座標轉爲百度座標錯誤的問題

      3.添加搜索在線建議詞功能

      4.關於1.3.3版本升級的詳細內容和歷史升級請參考更新日誌。在類參考文檔中,我們也增加了接口說明。

百度地圖官網地址:http://dev.baidu.com/wiki/imap/index.php

新地址:http://developer.baidu.com/map/

1. 配置Manifest.xml 文件

     添加百度地圖開發的授權:

  

複製代碼
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" ></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses-permission>
<uses-permission android:name="android.permission.INTERNET" ></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" ></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" ></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" ></uses-permission>
複製代碼

 

    添加對屏幕的支持:

  

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

 

2. 在libs中添加 百度地圖的jar包 baidumapapi.jar

3. 在佈局文件main.xml中添加顯示

<com.baidu.mapapi.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />

 

4 .Activity中的定義

   類 BMapManager 是一個地圖引擎管理類,通過此類的start()方法,可以打開地圖API;通過此類的stop()方法,可以終止百度地圖API,調用此函數後,不會再發生回調。 通過init(String strKey,MKGeneralListener listener)方法初始化。在程序退出的時候調用此類中destory()方法。

   接口 MKGeneralListener 用於監聽授權之後的結果,察看Key的狀態是否正確。300 表示驗證失敗。

  類MapActivity  用來顯示管理MapView類中activity處理邏輯的基礎類。其中的initMapActivity(BMapManager bmapMan)用於初始化Activity。

  類GeoPoint 表示一個地理座標點,存放經度和緯度,以微度的整數形式存儲

注意事項:

  地圖、定位、搜索功能都需要BMapManager來管理,BMapManager提供四個接口,init,start,stop,destory。建議在Appliaction裏生成BMapManager對象並初始化,在程序退出時調用destory,在需要使用sdk功能的activity的onCreate裏調用start,onDestory調用stop,或者onResume/onPause分別調用start和stop方法。

MainActivity:

複製代碼
package com.android.android_baidu_demo;

import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.GeoPoint;
import com.baidu.mapapi.MKGeneralListener;
import com.baidu.mapapi.MapActivity;
import com.baidu.mapapi.MapController;
import com.baidu.mapapi.MapView;

import android.os.Bundle;
import android.widget.Toast;

public class MainActivity extends MapActivity {

//添加百度地圖的相關控件
private MapView mapView;
//加載地圖的引擎
private BMapManager bMapManager;
//百度地圖的key
private String KeyString = "8C426377B3526B6BF3672C9BA3BB544D1E8289CD";
//在百度地圖上添加一些控件,比如是放大或者縮小的控件
private MapController mapController;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView) this.findViewById(R.id.bmapView);
bMapManager = new BMapManager(MainActivity.this    );
//必須要加載key
bMapManager.init(KeyString, new MKGeneralListener() {

public void onGetPermissionState(int arg0) {
if(arg0==300){
Toast.makeText(MainActivity.this, "輸入的key有錯,請覈實!!", 1).show();
}
}

public void onGetNetworkState(int arg0) {

}
});
this.initMapActivity(bMapManager);
//表示可以設置縮放功能
mapView.setBuiltInZoomControls(true);
mapController = mapView.getController();
//需要定義一個經緯度:北京天安門
GeoPoint geoPoint = new GeoPoint((int)(39.915*1E6),(int)(116.404*1E6));
mapController.setCenter(geoPoint);//設置一箇中心點
mapController.setZoom(12);//設置縮放級別是12級別
}

@Override
protected void onDestroy() {
super.onDestroy();
if(bMapManager!=null){
bMapManager.destroy();
bMapManager = null;
}
}

@Override
protected void onResume() {
super.onResume();
if(bMapManager!=null){
bMapManager.start();
}
}

@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
if(bMapManager!=null){
bMapManager.stop();
}
}

@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}


}
複製代碼

 

 

 

 

 

發佈了49 篇原創文章 · 獲贊 6 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章