百度地图开发(一)

 1 package com.example.android_map;
 2 import com.baidu.mapapi.BMapManager;
 3 import com.baidu.mapapi.MKGeneralListener;
 4 import com.baidu.mapapi.map.MapController;
 5 import com.baidu.mapapi.map.MapView;
 6 import com.baidu.platform.comapi.basestruct.GeoPoint;
 7 
 8 import android.R.layout;
 9 import android.app.Activity;
10 import android.os.Bundle;
11 import android.widget.Toast;
12 
13 public class MainActivity extends Activity {
14     /** Called when the activity is first created. */
15 
16     BMapManager mBMapMan = null;
17     MapView mMapView = null;
18 
19     @Override
20     public void onCreate(Bundle savedInstanceState) {
21         super.onCreate(savedInstanceState);
22         //setContentView(R.layout.main);
23         mBMapMan=new BMapManager(getApplication());
24         mBMapMan.init("6686871A9FE37CB66A2BF3261D3E865403BA0E65", new MKGeneralListener() {
25 
26             @Override
27             public void onGetNetworkState(int arg0) {
28                 // TODO Auto-generated method stub
29                 //返回网络错误
30             }
31 
32             @Override
33             public void onGetPermissionState(int arg0) {
34                 // TODO Auto-generated method stub
35                 //返回授权码错误
36                 
37             }
38             
39         
40         });  
41         //注意:请在试用setContentView前初始化BMapManager对象,否则会报错
42         setContentView(R.layout.activity_main);
43         mMapView=(MapView)findViewById(R.id.bmapView);
44         mMapView.setBuiltInZoomControls(true);//表示可以缩放地图
45         mMapView.setSatellite(true);
46         //设置启用内置的缩放控件
47         MapController mMapController=mMapView.getController();
48         // 得到mMapView的控制权,可以用它控制和驱动平移和缩放
49         GeoPoint point =new GeoPoint((int)(39.915* 1E6),(int)(116.404* 1E6));
50         //用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)
51         mMapController.setCenter(point);//设置地图中心点
52         mMapController.setZoom(12);//设置地图zoom级别
53     }
54         @Override
55         protected void onDestroy(){
56                 mMapView.destroy();
57                 if(mBMapMan!=null){
58                         mBMapMan.destroy();
59                         mBMapMan=null;
60                 }
61                 super.onDestroy();
62         }
63         @Override
64         protected void onPause(){
65                 mMapView.onPause();
66                 if(mBMapMan!=null){
67                         mBMapMan.stop();
68                 }
69                 super.onPause();
70         }
71         @Override
72         protected void onResume(){
73                 mMapView.onResume();
74                 if(mBMapMan!=null){
75                         mBMapMan.start();
76                 }
77                 super.onResume();
78         }
79         
80     
81     
82 }

在AndroidManifest.xml文件中加入百度地图开发的授权和支持的screen

 1   <supports-screens
 2         android:anyDensity="true"
 3         android:largeScreens="true"
 4         android:normalScreens="false"
 5         android:resizeable="true"
 6         android:smallScreens="true" />
 7     <!-- 添加百度地图开发的授权 -->
 8     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
 9     </uses-permission>
10     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >
11     </uses-permission>
12     <uses-permission android:name="android.permission.INTERNET" >
13     </uses-permission>
14     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
15     </uses-permission>
16     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
17     </uses-permission>
18     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
19     </uses-permission>
20     <uses-permission android:name="android.permission.READ_PHONE_STATE" >
21     </uses-permission>

将百度SDK自带的Sample中的libs全部拷贝到工程目录下

在activity_main.xml中加入

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

*值得注意的是百度API已经不支持以往的MapActivity,全部改用了Acitivity,添加百度引擎的时候直接用

 BMapManager mBMapMan=new BMapManager(Context)
 mBMapMan.init("授权码", new MKGeneralListener())

 

 

posted on 2013-08-03 19:58  Codebaby  阅读(416)  评论(0)    收藏  举报

导航