一、上百度地图开放平台注册应用。http://lbsyun.baidu.com/点击申请密匙。已注册的开发人员直接创建应用,获取appkey.
2、下载地图SDK跟demo,将jar导入项目中:
.
根据项目需求是需要路线导航还是poi检索。将demo中类导入。
3、设置xml中设置appkey
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="appkey" />
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote" />
4、建立map类,视图文件中加入
android:id="@+id/baidu_map"
android:layout_below="@id/relative1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true" >
</com.baidu.mapapi.map.MapView>
5、获取地图视图map = (MapView) findViewById(R.id.baidu_map);
baiduMap = map.getMap();
/**
* 设置地图中心点和状态,缩放级别
*/
private void getMap() {
mapStatus = new MapStatus
.Builder()
.zoom(14)
.build();// 定义地图状态
locationMode = com.baidu.mapapi.map.MyLocationConfiguration.LocationMode.NORMAL;
msu= MapStatusUpdateFactory.newMapStatus(mapStatus);//定义MapStatusUpdate对象,以便描述地图状态将要发生的变化
baiduMap.setMapStatus(msu); //改变地图状态
}
6、定位://定位
private void setLocOption() {
baiduMap.setMyLocationEnabled(true);
locationClient = new LocationClient(this);
locationClient.registerLocationListener(mListener);
option = new LocationClientOption();
option.setOpenGps(true);
option.setCoorType("bd09ll");
option.setScanSpan(1000);
option.setIsNeedAddress(true);
option.setIsNeedLocationDescribe(true);
option.setLocationMode(LocationMode.Hight_Accuracy);// 设置定位模式
locationClient.setLocOption(option);
locationClient.start();
}
mSearch = RoutePlanSearch.newInstance();
tran = RoutePlanSearch.newInstance();
获取地理编码:GeoCoder gg=GeoCoder.newInstance();
gg.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {...
跳转到指定地区:gg.geocode(new GeoCodeOption().city(city).address(address));
6、