Android百度地图SDK—地图标记
16lz
2021-01-23
Android百度地图SDK—地图标记
- 概述
- 正文
概述
记录Android百度地图开发过程中的一些细节
正文
/** * lat:圆心纬度 * lng:圆心经度 * radius:半径/米 */ private fun showMarkers(lat: Double, lng: Double, radius: Int) { val options = ArrayList() //模拟数据 val latLng1 = LatLng(lat+0.002f, lng+0.002f) val latLng2 = LatLng(lat-0.002f, lng-0.002f) val latLng3 = LatLng(lat+0.05f, lng-0.05f) val latLng4 = LatLng(lat-0.05f, lng+0.05f) //判断坐标点是否在以定位中心点为中点的圆内,半径单位为米 if (SpatialRelationUtil.isCircleContainsPoint(LatLng(lat, lng), radius, latLng1)){ val option1 = MarkerOptions().position(latLng1).icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding)) options.add(option1) } if (SpatialRelationUtil.isCircleContainsPoint(LatLng(lat, lng), radius, latLng2)) { val option2 = MarkerOptions().position(latLng2).icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding)) options.add(option2) } if (SpatialRelationUtil.isCircleContainsPoint(LatLng(lat, lng), radius, latLng3)) { val option3 = MarkerOptions().position(latLng3).icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding)) options.add(option3) } if (SpatialRelationUtil.isCircleContainsPoint(LatLng(lat, lng), radius, latLng4)) { val option4 = MarkerOptions().position(latLng4).icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding)) options.add(option4) } baiduMap.addOverlays(options) }
PS:SpatialRelationUtil是百度地图的工具类,其中isCircleContainsPoint方法可以用于判断标记点是否处于以某个定位点为半径的圆形范围内
——End——
更多相关文章
- 【Arcgis for android】保存地图截图到sd卡
- Android使用百度地图移动到我的位置
- Android获取本地图片之ACTION_GET_CONTENT与ACTION_PICK区别
- Android设置拍照或者上传本地图片
- android同一个程序中使用多个地图出现混乱怎么办?!
- 【月入41万】Mono For Android中使用百度地图SDK
- Android百度地图开发(一)环境搭建
- 百度地图 android 相关收集