Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在谷歌地图android上设置两个位置的良好缩放距离_Java_Android_Google Maps - Fatal编程技术网

Java 如何在谷歌地图android上设置两个位置的良好缩放距离

Java 如何在谷歌地图android上设置两个位置的良好缩放距离,java,android,google-maps,Java,Android,Google Maps,我需要创建一些东西来根据两个位置(从a到B)确定一个好的缩放级别 这是我在使用谷歌的Locations Api后在地图上绘制的基本位置 private void drawnNewRoute(){ if(polyline == null){ po = new PolylineOptions(); for(int i = 0, tam = latLngs.size(); i < tam; i++){ po.add(latLngs

我需要创建一些东西来根据两个位置(从a到B)确定一个好的缩放级别

这是我在使用谷歌的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);
    }
}
private void drawnNewRoute(){
如果(多段线==null){
po=新的多段线选项();
for(inti=0,tam=latLngs.size();i

我有一张所有位置的列表,上面有一个
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);

您应该使用
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);

newLatLngBounds
我放的第二个参数,零?即
填充
。它指定要从屏幕填充的距离量,以便您的位置点不会恰好位于屏幕边缘。您可以尝试使用正值,使您的位置在屏幕上看起来合适。但是,它的值不应该对功能有太大的影响。
newLatLngBounds
的第二个参数是什么,零?即
padding
。它指定要从屏幕填充的距离量,以便您的位置点不会恰好位于屏幕边缘。您可以尝试使用正值,使您的位置在屏幕上看起来合适。不过,它的价值不应该对功能有太大的影响。