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,用于在地图上添加Marker  OverlayOptions   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);

@Override public 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频道!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值