Java 如何使整个多段线在google地图上可见
我有一个多段线,我从一个,我希望它显示一个谷歌地图与所有可见的点,但我不知道如何让相机显示所有的点。 我按如下方式添加多段线:Java 如何使整个多段线在google地图上可见,java,android,kotlin,android-maps,Java,Android,Kotlin,Android Maps,我有一个多段线,我从一个,我希望它显示一个谷歌地图与所有可见的点,但我不知道如何让相机显示所有的点。 我按如下方式添加多段线: fun MapFragment.addPolyline(line: String) { val decodedPath: List<LatLng> = PolyUtil.decode(line) getMap()?.addPolyline(PolylineOptions().addAll(decodedPath)) } fun MapFra
fun MapFragment.addPolyline(line: String) {
val decodedPath: List<LatLng> = PolyUtil.decode(line)
getMap()?.addPolyline(PolylineOptions().addAll(decodedPath))
}
fun MapFragment.setCamera(latLng: LatLng) {
getMap()?.moveCamera(
CameraUpdateFactory.newLatLngZoom(
latLng, 20f
)
)
}
但是,这仅显示多段线的一部分。我需要更改缩放,以便贴图覆盖整个多段线。如何实现这一点?您必须使LATLNGBOND。您可以使用此方法绘制整点的多段线
fun drawPolyline(listlatlng: ArrayList<LatLng>) {
var latlngHistory: ArrayList<LatLng> = ArrayList()
val bc = LatLngBounds.Builder()
for (item in listlatlng) {
latlngHistory.add(item)
bc.include(item)
}
mMap?.clear()
var path: Polyline = mMap!!.addPolyline(
PolylineOptions().addAll(latlngHistory)
)
path.width = 10F
path.color = Color.parseColor("#A3258F")
if (latlngHistory != null && latlngHistory.size != 0) {
if (latlngHistory.size < 2) {
bc.include(latlngHistory.get(0))
bc.include(latlngHistory.get(latlngHistory.size - 1))
}
//cardll is a layout refernce on which map is displaying
val width = cardll?.width
val height = cardll?.height
if (width != null && height != null) {
mMap!!.moveCamera(
CameraUpdateFactory.newLatLngBounds(
bc.build(),
width!!,
height!!,
60
)
)
}
}
}