[英]Android - Google Maps - Calculate distance between two locations (LatLng)
[英]How to set a good distance in zoom of two locations on google maps android
我需要根据从A到B的两个位置创建一些东西来确定良好的缩放级别。
这是从Google消费Locations Api后在地图上绘制的基本方法
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.