最终实现效果图:
实现过程主要注意有两个:
(1)com.baidu.mapapi.overlayutil包的导入。
(2)在百度地图RoutePlaneDemo里面添加定位,定位到当前位置。
com.baidu.mapapi.overlayutil包的导入:
导入overlayutil包主要是因为百度在SDK中没有集成clusterutil和overlayutil工具类。
导入方法:
按照百度地图demo给出的项目结构,把工具类复制到项目中。
demo的项目结构:
自己项目的结构:
这下就可以导入overlayutil包了。
在百度地图RoutePlaneDemo里面添加定位,定位到当前位置:
参考百度地图的LocationDemo里面的定位方式,主要分为三个部分:
初始条件:
// 定位相关
LocationClient mLocClient;
public MyLocationListenner myListener = new MyLocationListenner();
private MyLocationConfiguration.LocationMode mCurrentMode;
BitmapDescriptor mCurrentMarker;
private static final int accuracyCircleFillColor = 0xAAFFFF88;
private static final int accuracyCircleStrokeColor = 0xAA00FF00;
boolean isFirstLoc = true; // 是否首次定位初始化地图和定位:
// 初始化地图
mMapView = (MapView) findViewById(R.id.map);
mBaidumap = mMapView.getMap();
// 开启定位图层
mBaidumap.setMyLocationEnabled(true);
// 定位初始化
mLocClient = new LocationClient(this);
mLocClient.registerLocationListener(myListener);
LocationClientOption option = new LocationClientOption();
option.setOpenGps(true); // 打开gps
option.setCoorType("bd09ll"); // 设置坐标类型
option.setScanSpan(1000);
mLocClient.setLocOption(option);
mLocClient.start();定位SDK监听函数:
/**
* 定位SDK监听函数
*/
public class MyLocationListenner implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
// map view 销毁后不在处理新接收的位置
if (location == null || mMapView == null) {
return;
}
MyLocationData locData = new MyLocationData.Builder()
.accuracy(location.getRadius())
// 此处设置开发者获取到的方向信息,顺时针0-360
.direction(100).latitude(location.getLatitude())
.longitude(location.getLongitude()).build();
mBaidumap.setMyLocationData(locData);
if (isFirstLoc) {
isFirstLoc = false;
LatLng ll = new LatLng(location.getLatitude(),
location.getLongitude());
MapStatus.Builder builder = new MapStatus.Builder();
builder.target(ll).zoom(14.0f);
mBaidumap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
}
}
public void onReceivePoi(BDLocation poiLocation) {
}
}这样就可以实现百度地图路线规划功能了,上面只是提供大致思路和可能遇见的问题,具体可以参考官方demo和百度地图论坛。
最终的代码可以参考:
http://download.csdn.net/detail/u014465934/9520542
版权声明:本文为u014465934原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。