我需要创建一些东西来根据从 A 到 B 的两个位置确定良好的缩放级别。
这是我在使用来自 google 的 Locations Api 后在 map 上绘制的基本位置
private void drawnNewRoute(){
if(polyline == null){
po = new PolylineOptions();
for(int i = 0, tam = latLngs.size(); i < tam; i++){
po.add(latLngs.get(i));
}
po.color(Color.BLACK).width(10);
polyline = mMap.addPolyline(po);
LatLng myCurrentLocation = new LatLng(lat, lon);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(myCurrentLocation, 13));
mMarkerNewPosition = mMap.addMarker(new MarkerOptions().position(finalLocaltion).title(finalLocationName));
mMarkerNewPosition.showInfoWindow();
}
else{
polyline.setPoints(latLngs);
}
}
我有一个包含 LatLngs
类的所有位置的列表,我正在考虑获取该列表并潜入两个位置,从其余位置中取出第一个位置并进行一些数学计算以获得“好”缩放级别,但我不知道如何测量它。也许是基于距离的数学,我也有距离!谢谢!
最佳答案
您应该使用LatLngBounds
。
LatLngBounds.Builder builder = new LatLngBounds.Builder();
// Add your locations to bounds using builder.include, maybe in a loop
LatLngBounds bounds = builder.build();
//Then construct a cameraUpdate
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, 0);
//Then move the camera
map.animateCamera(cameraUpdate);
关于java - 如何在谷歌地图android上设置两个位置的缩放距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44597407/