300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > android百度地图定位自定义图标 Android应用开发之android 百度地图自定义圆 更改

android百度地图定位自定义图标 Android应用开发之android 百度地图自定义圆 更改

时间:2020-02-06 21:53:01

相关推荐

android百度地图定位自定义图标 Android应用开发之android 百度地图自定义圆 更改

本文将带你了解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 百度地图自定义圆 更改默认图标等常用方法...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。