zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android--百度地图开发(二)

2023-09-14 09:00:57 时间
显示百度地图

百度地图SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度地图数据:

第一步:创建并配置工程(具体方法参见工程配置部分的介绍);

第二步:在AndroidManifest中添加开发密钥、所需权限等信息;

(1)在application中添加开发密钥

 application 

 meta-data 

 android:name="com.baidu.lbsapi.API_KEY" 

 android:value="开发者 key" / 

 /application 

2)添加所需权限

 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.WAKE_LOCK"/ 

 uses-permission android:name="android.permission.CHANGE_WIFI_STATE" / 

 uses-permission android:name="android.permission.ACCESS_WIFI_STATE" / 

 uses-permission android:name="android.permission.GET_TASKS" / 

 uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/ 

 uses-permission android:name="android.permission.WRITE_SETTINGS" / 

第三步,在布局xml文件中添加地图控件;

 com.baidu.mapapi.map.MapView 

 android:id="@+id/bmapView" 

 android:layout_width="fill_parent" 

 android:layout_height="fill_parent" 

 android:clickable="true" / 

第四步,在应用程序创建时初始化 SDK引用的Context 全局变量:

public class MainActivity extends Activity { 

 @Override 

 protected void onCreate(Bundle savedInstanceState) { 

 super.onCreate(savedInstanceState); 

 //在使用SDK各组件之前初始化context信息,传入ApplicationContext 

 //注意该方法要再setContentView方法之前实现 

 SDKInitializer.initialize(getApplicationContext()); 

 setContentView(R.layout.activity_main); 

}

注意:在SDK各功能组件使用之前都需要调用

SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中

第五步,创建地图Activity,管理地图生命周期;

public class MainActivity extends Activity { 

 MapView mMapView = null; 

 @Override 

 protected void onCreate(Bundle savedInstanceState) { 

 super.onCreate(savedInstanceState); 

 //在使用SDK各组件之前初始化context信息,传入ApplicationContext 

 //注意该方法要再setContentView方法之前实现 

 SDKInitializer.initialize(getApplicationContext()); 

 setContentView(R.layout.activity_main); 

 //获取地图控件引用 

 mMapView = (MapView) findViewById(R.id.bmapView); 

 @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(); 

 }

完成以上步骤后,运行程序,即可在您的应用中显示如下地图:


以上的例子为大家介绍了如何构建一个基础的地图页面。地图控件自v2.3.5版本起,支持多实例,即开发者可以在一个页面中建立多个地图对象,并且针对这些对象分别操作且不会产生相互干扰。具体使用方法请参考MutiMapViewDemo中的相关介绍。

此外,自v2.3.5版本开始。MapView控件还增加了对Fragment框架的支持。用户可以使用SupportMapFragment控件完成相应框架内的开发工作(详见MapFragmentDemo)。


转载:http://blog.csdn.net/chaoyu168/article/details/51360776