Android:使用百度地图在折线上添加箭头?

Posted

技术标签:

【中文标题】Android:使用百度地图在折线上添加箭头?【英文标题】:Android: Add arrow heads on poly line using Baidu map? 【发布时间】:2020-08-21 11:15:09 【问题描述】:

是否可以使用百度地图在折线上添加箭头?

【问题讨论】:

【参考方案1】:

我找到了自己的答案并发布了答案,以便对其他人有所帮助。 就我而言,我需要在折线的末尾添加箭头。

我没有找到任何使用百度 SDK 的内置方法,所以我想出了自定义解决方案。 这个想法是找到折线最后两点之间的航向角,并将箭头位图旋转该角度,并将角度定位在折线的末端。

解决方案。

val points = polyline.points
val p1 = points[points.size -1]
val p2 = points[points.size -2]

// heading angle between points (+180 is for bringing the value in 0..360 range, as heading's default range is -180..180 degree)
val angle = SphericalUtil.computeHeading(p1,p2)+180 // SphericalUtil link -> https://github.com/googlemaps/android-maps-utils 

// rotate the bitmap to fit last two points direction
val rotatedArrowBitmap = arrowBitmap.rotate(angle) // .rotate(value) is a kotlin extention, find ful method below 

val markerOptions = MarkerOptions().position(LatLng(p1.latitude, p1.longitude))
                                 .icon(BitmapDescriptorFactory.fromBitmap(bitmap))
                                 .anchor(0.5f, 0.5f) // this will fit marker center with the p1 coordinate 
                                 .flat(true) // this will make marker rotate with map 

map.addOverlay(markerOptions)

【讨论】:

以上是关于Android:使用百度地图在折线上添加箭头?的主要内容,如果未能解决你的问题,请参考以下文章

百度地图添加覆盖物,画折线,用定时器不断的画,两点一条线,不一会就非常卡顿了.我想模仿轨迹

Qt之加载百度离线地图(WebKit和WebEngine)

Qt之加载百度离线地图(WebKit和WebEngine)

Android开发 百度地图开发(定位传感器应用)

百度地图上的绿色箭头是啥 有三个方向

手机上百度地图导航有路标箭头车上为啥会没有