如何缩放到地图框的边界框?

时间:2019-06-11 05:08:32

标签: android mapbox

我正在使用easeCamera方法将地图缩放到特定的边界框,但是无法正常工作。缩小得太多。 我知道我的东北和西南是正确的。

这是我的代码:

LatLng northeast = new LatLng(maxy, maxx);
LatLng southwest = new LatLng(miny, minx);

LatLngBounds latLngBounds = new LatLngBounds.Builder()
    .include(northeast)
    .include(southwest)
    .build();

mapView.invalidate();

MainActivity.this.mapboxMap.easeCamera(CameraUpdateFactory.newLatLngBounds(latLngBounds, 1), 5000);

这是结果:

enter image description here

2 个答案:

答案 0 :(得分:0)

尝试制作一个较小的边框,以使相机位于您想要的位置。

尝试将所有图标坐标传递到LatLngBounds.Builder()中,而不仅仅是设置两个边界框坐标。这就是在https://docs.mapbox.com/android/maps/examples/fit-camera-in-bounding-box中完成的工作。

答案 1 :(得分:0)

最后,我发现了问题所在。在我的布局xml文件中,删除了设置的app:mapbox_cameraZoom属性,问题已解决。

<com.mapbox.mapboxsdk.maps.MapView
    android:id="@+id/mapview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:mapbox_cameraTargetLat="33.698659"
    app:mapbox_cameraTargetLng="46.413015"
    app:mapbox_cameraTilt="60"
    app:mapbox_cameraZoom="9"/>