所需的权限:
<!-- 这个权限用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >
</uses-permission>
<!-- 这个权限用于访问GPS定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >
</uses-permission>
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
</uses-permission>
<!-- 用于读取手机当前的状态 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" >
</uses-permission>
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
</uses-permission>
<!-- 访问网络,网络定位需要上网 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- SD卡读取权限,用户写入离线定位数据 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" >
</uses-permission>
<!-- 允许应用读取低级别的系统日志文件 -->
<uses-permission android:name="android.permission.READ_LOGS" >
添加jar包:locSDK_5.0.jar和baidumapapi.jar
添加发送广播:
private void initManager() {
SDKInitializer.initialize(getApplicationContext());
baiduSdkReceiver = new MyBaiduSdkReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR);
filter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR);
registerReceiver(baiduSdkReceiver, filter);
}
热力感应,应用人群最多或者最少的地
卫星地貌,出行需要的车型
BaiduMap:处理地图事件
setOnMapClickListener()设置地图单击事件监听者
对mapview添加OnMapClickListener事件监听,监听中有两个方法,public void onMapClick(LatLng point){ }获取到的是空白地点的坐标; public boolean onMapPoiClick(MapPoi poi){ }获取到的是标记的建筑名称
setOnMarkerClickListener():
实时交通信息图:baiduMap.setTrafficEnabled(true);
卫星图:baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
卫星地图是卫星拍摄的真是的地理面貌,所以卫星地图可用来检测地图的信息,你可以了解到地理位置,地形等。。
Selector如果选择了再选择会怎样?xml中定义
地图覆盖物的层级压盖关系(从上到下的顺序):
- 基础底图(包括底图,底图道路,卫星图等)
- 地形图图层(GroundOverlay)
- 热力图图层(HeatMap
- 实时路况图图层(BaiduMap.setTrafficEnabled(true)),
- 百度城市热力图(BaiduMap.setBaiduHeatMapEnabled(true)),
- 底图标注(指的是底图上面自带的哪些POI元素)
- 几何图形图层:(点,折现,弧线,元,多边形)
- 标注图层(Marker)文字绘制图层(Text)
- 指南针图层(当地图发生旋转和视角变化时,默认出现在左上角的指南针)
- 定位图层(BaiduMap.setMyLocationEnabled(true))
- 弹出框图层(InfoWindow)
- 自定义View(MapView.addView(View))
添加图层图片:
CircleOptions circleOptions=new CircleOptions();
circleOptions.center(mPos)//圆心
.radius(1000).fillColor(0x50ffff00).stroke(new stroke());//
属性:visible(Boolean visible)//园是否可见 园zIndex(显示优先级)
添加图层文字:
TextOptions
MarkerOptions:设置marker覆盖物的位置坐标,position(LatLng position)
设置marker覆盖物的标题。Title(java)
定位
LocationClient和BDLocationListener监听
首先需要打开定位图层BaiduMap.setMyLocationEnabled(true);
设置监听器LocationClient.registerLocationListener(BDLocationListener)
设置定位模式:baiduMap.
复习本地搜索覆盖物"PoiOverlay",路线规划