首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

百度mapSDK for Android【Demomap展示】

2013-02-17 
百度地图SDK for Android【Demo地图展示】我将通过下面的讲解,教大家一步一步构建最基本的百度地图应用——基

百度地图SDK for Android【Demo地图展示】

        我将通过下面的讲解,教大家一步一步构建最基本的百度地图应用——基础地图展示:

       第一步:创建Android工程、导入百度地图开发包;

       配置好的工程如下图所示:

百度mapSDK for Android【Demomap展示】

       第二步:在AndroidManifest.xml中添加各种权限;

       代码如下:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/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>

       第三步:在布局文件中添加百度地图控件(mapview);

       代码如下:

<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=".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>

       第四步:在主类中定义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对象@Overrideprotected 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和地图管理对象的状态@Overrideprotected void onResume() {// TODO Auto-generated method stubmapView.onResume();if(bMapManager!=null){bMapManager.start();}super.onResume();}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubmapView.destroy();if(bMapManager!=null){bMapManager.destroy();bMapManager=null;}super.onDestroy();}@Overrideprotected void onPause() {// TODO Auto-generated method stubmapView.onPause();if(bMapManager!=null){bMapManager.stop();}super.onPause();}}

        运行程序即可调启百度地图服务,展示您所需的地图,结果如下所示:

百度mapSDK for Android【Demomap展示】

点击下载工程文件!


 

热点排行