如何将用户的视图仅限制在某个国家/地区的某个岛屿?

时间:2018-04-05 00:35:33

标签: android google-maps android-studio-3.0

我的项目是为菲律宾的游客制作一个来自菲律宾锡基霍尔岛的地图应用程序,我希望该应用程序只显示该岛屿。我能找到的唯一坐标是9.1999° N, 123.5952° E。我不知道如何实现这些坐标

private GoogleMap mMap;
// Create a LatLngBounds that includes the city of Adelaide in Australia.
private LatLngBounds ADELAIDE = new LatLngBounds(
  new LatLng(-35.0, 138.58), new LatLng(-34.9, 138.61));
// Constrain the camera target to the Adelaide bounds.
mMap.setLatLngBoundsForCameraTarget(ADELAIDE);

1 个答案:

答案 0 :(得分:1)

LatLngBounds class reference

相关信息:

LatLngBounds(LatLng southwest, LatLng northeast)
Creates a new bounds based on a southwest and a northeast corner.

因此,第一个参数是边界的西南角,第二个参数是边界的东北角。

所以你可以去Google Maps找到你希望地图被界定的区域的西南和东北坐标。单击地图以查看您刚刚单击的点的坐标。

此外,请查看Google Maps Gestures以及如何启用/停用它们,以便进一步控制其他人如何浏览地图。

例如,禁用某些手势:

 public void onMapReady(GoogleMap map) {
    UiSettings uiSettings = map.getUiSettings();
    uiSettings.setZoomGesturesEnabled(false); //disable zoom gestures
    uiSettings.setScrollGesturesEnabled(false); //disable scroll(pan) gestures
    uiSettings.setTiltGesturesEnabled(false); //disable tilt gestures
    uiSettings.setRotateGesturesEnabled(false); //disable rotation gestures

}