Android百度地图SDK—地图标记
16lz
2021-12-04
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——
更多相关文章
- Android中shape属性详解
- 日拱一卒(二十二)
- 【Arcgis for android】保存地图截图到sd卡
- Android使用百度地图移动到我的位置
- Android(安卓)Maps
- android button自定义触摸前以及触摸时的样式
- Android获取本地图片之ACTION_GET_CONTENT与ACTION_PICK区别
- android shape 详解
- Android百度地图之位置定位和附近查找代码简单实现 (上)