百度地圖SDK for Android【Demo地圖展示】
我將通過下面的講解,教大家一步一步構建最基本的百度地圖應用——基礎地圖展示:
第一步:創建Android工程、導入百度地圖開發包;
配置好的工程如下圖所示:

第二步:在AndroidManifest.xml中添加各種權限;
代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=" package="com.baidumap.basemap"
android:versionCode="1"
android:versionName="1.0" ><uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" /> <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:resizeable="true" android:anyDensity="true"/> <!-- 添加屏幕支持 --> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.baidumap.basemap.MainActivity" android:label="@string/app_name" android:screenOrientation="sensor" android:configChanges="orientation|keyboardHidden"> <!-- 注意添加轉屏的相關設置 --> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <!--使用網絡功能所需權限 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> <!-- SDK離線地圖和cache功能需要讀寫外部存儲器 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <!-- 獲取設置信息和詳情頁直接撥打電話需要以下權限 --> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> </manifest> </pre> <p></p>第三步:在布局文件中添加百度地圖控件(mapview);
代碼如下:
<RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" ><!-- 放入百度地圖的mapview --> <com.baidu.mapapi.map.MapView android:id="@+id/bmapsView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true"/> </RelativeLayout> </pre> <p></p>第四步:在主類中定義mapview對象和地圖管理對象,在oncreate方法里需要首先初始化地圖管理對象,然后初始化mapview對象,并且設置mapview的相應狀態;
代碼如下:
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.map.MapController;
import com.baidu.mapapi.map.MapView;
import com.baidu.platform.comapi.basestruct.GeoPoint;import android.os.Bundle; import android.app.Activity; public class MainActivity extends Activity { BMapManager bMapManager = null; // 定義管理sdk的對象 MapView mapView = null; // 定義mapview對象 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 初始化管理對象,注意要在setContentView(R.layout.activity_main)之前初始化,否則會報錯 bMapManager = new BMapManager(getApplication()); bMapManager.init("輸入您申請的key", null); setContentView(R.layout.activity_main); // 初始化mapview對象,并且設置顯示縮放控件 mapView = (MapView) findViewById(R.id.bmapsView); mapView.setBuiltInZoomControls(true); // 定義地圖控件,獲取mapview的控制,并把地圖范圍定位北京市 MapController mapController = mapView.getController(); GeoPoint point =new GeoPoint((int)(39.915* 1E6),(int)(116.404* 1E6)); mapController.setCenter(point); mapController.setZoom(12); } //注意在onResume、onDestroy和onPause中控制mapview和地圖管理對象的狀態 @Override protected void onResume() { // TODO Auto-generated method stub mapView.onResume(); if(bMapManager!=null){ bMapManager.start(); } super.onResume(); } @Override protected void onDestroy() { // TODO Auto-generated method stub mapView.destroy(); if(bMapManager!=null){ bMapManager.destroy(); bMapManager=null; } super.onDestroy(); } @Override protected void onPause() { // TODO Auto-generated method stub mapView.onPause(); if(bMapManager!=null){ bMapManager.stop(); } super.onPause(); } } </pre><span style="font-size:14px;"><span style="font-size:14px;"> </span>運行程序即可調啟百度地圖服務,展示您所需的地圖,結果如下所示:</span> <p></p>來自:http://blog.csdn.net/baidulbs/article/details/8564052
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
