百度地图

来源:互联网 发布:cae软件开发 编辑:程序博客网 时间:2024/06/11 00:00

步骤

1.下载百度地图Android SDK,地址:http://developer.baidu.com/map/sdkandev-download.htm

Baidu_AndroidSDK_v1.3.5_Guide.chm

BaiduMapApi_Docs_Android_1.3.5---文档

BaiduMapApi_Lib_Android_1.3.5---jar包

BaiduMapApi_Sample_Android_1.3.5---例子

获取key 地址:http://developer.baidu.com/map/android-mobile-apply-key.htm

2.创建一个新的应用,清单文件里面copy权限和添加屏幕及版本支持,参考地址http://developer.baidu.com/map/sdkandev-2.htm,或者直接在百度提供的demo里面copy

3.jar包copy,可以直接从demo的lib目录里面拷贝,需要copy,文件夹armeabi和baidumapapi.jar

4.在布局文件里面提交,百度地图控件:

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

5.java代码

package com.android.mybaidu;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Toast;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;public class MainActivity extends MapActivity {//1.MapActivity显示在MapView类中的activity处理逻辑的基础类private MapView mapView;private BMapManager bMapManager;//地图引擎管理类,可以打开地图,可以停止地图 //百度地图的keyprivate String keyString="8CA9C86E319A0D344E0F1E2355AA772953521DA1";//在百度地图上添加一些控件,比如是放大或缩小的控件private MapController mapController;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mapView = (MapView) findViewById(R.id.bmapsView);bMapManager=new BMapManager(this);//2.必须要加载keybMapManager.init(keyString, new MKGeneralListener() {//接口是监听授权结果@Overridepublic void onGetPermissionState(int iError) {}@Overridepublic void onGetNetworkState(int iError) {if(iError==300){//失败Toast.makeText(MainActivity.this, "输入的key有误,请核实!!", 0).show();}}});//3.MapActivity方法 初始化activityinitMapActivity(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个级别//显示交通地图//mapView.setTraffic(true);//显示卫星地图mapView.setSatellite(true);}@Overrideprotected boolean isRouteDisplayed() {return false;}@Overrideprotected void onDestroy() {super.onDestroy();if(bMapManager!=null){bMapManager.destroy();bMapManager=null;}}@Overrideprotected void onResume() {super.onResume();if(bMapManager!=null){bMapManager.start();}}@Overrideprotected void onPause() {super.onPause();if(bMapManager!=null){bMapManager.stop();}}}