本文将带你了解Android应用开发之android 百度地图自定义圆,更改默认图标等常用方法,希望本文对大家学Android有所帮助。
总结了一下百度地图常用的方法(前提是集成百度地图环境成功):
1:定位到已经经纬度,只需要改变LatLng的参数即可。有两种方法:
方法1:
//定义Maker坐标点LatLng point = new LatLng(39.963175, 116.400244);//构建Marker图标BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher);//构建MarkerOption,用于在地图上添加MarkerOverlayOptions option = new MarkerOptions().position(point).icon(bitmap);//在地图上添加Marker,并显示baiduMap.getMap().addOverlay(option);
方法2:
MyLocationData locData = new MyLocationData.Builder()// 此处设置开发者获取到的方向信息,顺时针0-360.direction(100).latitude(result.getLocation().latitude).longitude(result.getLocation().longitude).build();// 设置定位数据baiduMap.setMyLocationData(locData);
2:根据关键词key检索附近建筑(默认返回10条数据)
//经纬度搜索poiSearch.searchNearby(new PoiNearbySearchOption().keyword("生").radius(5000).location(new LatLng(39.963175, 116.400244)));//城市搜索poiSearch.searchInCity(new PoiCitySearchOption().city("杭州").keyword("东方通信科技园").pageCapacity(1));
poiSearch.setOnGetPoiSearchResultListener(this);
@Overridepublic void onGetPoiResult(PoiResult poiResult) {if (poiResult == null || poiResult.error == SearchResult.ERRORNO.RESULT_NOT_FOUND) {return;}if (poiResult.error == SearchResult.ERRORNO.NO_ERROR) {//附近搜索baiduMap.getMap().clear();//创建PoiOverlayPoiOverlay overlay = new MyPoiOverlay(baiduMap.getMap());//设置overlay可以处理标注点击事件baiduMap.getMap().setOnMarkerClickListener(overlay);//设置PoiOverlay数据overlay.setData(poiResult);//添加PoiOverlay到地图中overlay.addToMap();overlay.zoomToSpan();return;}}
3:地图放大设置zoom:
/*** 设置地图放大的倍数*/mBaiduMap.setMapStatus(MapStatusUpdateFactory.newMapStatus(new MapStatus.Builder().zoom(18).build()));
4:
更改默认图标有两种方法:
方法1
/*** 更改定位默认图标MyLocationConfiguration 第二个参数是是否显示方向信息*/MyLocationConfiguration.LocationMode mCurrentMode = MyLocationConfiguration.LocationMode.NORMAL;BitmapDescriptor mCurrentMarker = BitmapDescriptorFactory.fromResource(R.drawable.icon_map_gcoding);mBaiduMap.setMyLocationConfiguration(new MyLocationConfiguration(mCurrentMode, false, mCurrentMarker));
方法2:
//定义Maker坐标点//构建Marker图标BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_map_gcoding);//构建MarkerOption,用于在地图上添加MarkerOverlayOptions options = new MarkerOptions().position(ll).icon(bitmap);//在地图上添加Marker,并显示mBaiduMap.addOverlay(options);
5:将定位到的地方移到地图中央
/*** 将定位到的地方移到地图中央*/LatLng ll = new LatLng(location.getLatitude(), location.getLongitude());MapStatusUpdate msu = MapStatusUpdateFactory.newLatLng(ll);mBaiduMap.animateMapStatus(msu);
6:在地图中央的地方画圆:
/ 添加圆OverlayOptions ooCircle = new CircleOptions().fillColor(0x2201A4F1).center(ll).stroke(new Stroke(5, 0xAA01A4F1)).radius(200);mBaiduMap.addOverlay(ooCircle);
7:当地图放大时,不让默认的圆出现(不设置accuracy即可),
// 构造定位数据 accuracy设置精确度MyLocationData locData = new MyLocationData.Builder()// 此处设置开发者获取到的方向信息,顺时针0-360.direction(100).latitude(location.getLatitude()).longitude(location.getLongitude()).build();// 设置定位数据mBaiduMap.setMyLocationData(locData);
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!
android百度地图定位自定义图标 Android应用开发之android 百度地图自定义圆 更改默认图标等常用方法...