java - 如何在谷歌地图android上设置两个位置的缩放距离

标签 java android google-maps

我需要创建一些东西来根据从 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/

相关文章:

google-maps - 如何确定街景全景图使用的视场

javascript - Angular Google map - map 信息窗口

java - NumberFormatException Android Java

Android ReSTLet HTTPS

java - Hibernate 从外部事务类中的 getCurrentPrice 返回 null

java - 如何让 Eclipse 在 JSP 中的 <%@ include %> 指令中进行语法检查?

java - 如何使用 IntelliJ 引用 Android 模块中定义的样式?

javascript - 模拟元素的点击

java - 更有效/更快地执行 ImageIcon 缩放的方法?

java - 如何调用父类(super class)的重写方法?