繁体   English   中英

如何在Google Maps Android的两个位置的缩放中设置良好的距离

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM