如何解决Android 谷歌地图为点设置不同的图标
我正在使用 android kotlin 并且我有一张地图,我需要在其中有一个叠加层 (geoJson)。由于 onClickListener 仅适用于 1 层,因此我已将所有内容都放在 1 geoJson 层中,但是我需要点特征具有不同的图标。我有这个代码
for (ft in mapLayers.features) {
val ftType = ft.getProperty("FeatureType")
when(ftType){
"Walk_Route"-> setWalkLoad(ft)
"POI"-> setPOILoad(ft)
}
}
和
fun setPOILoad(feature: GeoJsonFeature){
var col = feature.getProperty("Colour")
var colVals = col.split(",")
var bitMapPNG = getDrawable(R.drawable.mapmarker)?.let { getMarkerIconFromDrawable(
it,colVals[0].toInt(),colVals[1].toInt(),colVals[2].toInt()
) }
feature.pointStyle.icon = bitMapPNG
}
private fun getMarkerIconFromDrawable(drawable: Drawable,r: Int,g: Int,b: Int): BitmapDescriptor? {
var pCol = rgb(r,g,b)
var circle = drawable.constantState?.newDrawable()?.mutate();
circle?.setTint(pCol)
var icon = circle?.toBitmap(
drawable.intrinsicWidth,drawable.intrinsicHeight,Bitmap.Config.ARGB_8888
)
var iCopy =icon?.copy(Bitmap.Config.ARGB_8888,false)
return BitmapDescriptorFactory.fromBitmap(iCopy)
}
但这仍然将它们设置为 1 种样式。有没有办法做到这一点?提前致谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。