【问题标题】:How to show only a specific region/area in google map for android api v2 [Android]如何在 android api v2 [Android] 的谷歌地图中仅显示特定区域/区域
【发布时间】:2016-03-08 10:16:37
【问题描述】:

如何在 google 地图中仅显示特定区域/区域以用于 android api v2?。所有功能都必须在该区域中可用,例如缩放、拖动等。 所有其他区域必须被裁剪掉或不可见。那可能吗??? 我正在使用eclipse。请帮帮我

【问题讨论】:

标签: android google-maps maps


【解决方案1】:

这个技巧对我有用

  @Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    //get latlong for corners for specified place
    LatLng one = new LatLng(27.700769, 85.300140);
    LatLng two = new LatLng(27.800769, 85.400140);

    LatLngBounds.Builder builder = new LatLngBounds.Builder();

    //add them to builder
    builder.include(one);
    builder.include(two);

    LatLngBounds bounds = builder.build();

    //get width and height to current display screen
    int width = getResources().getDisplayMetrics().widthPixels;
    int height = getResources().getDisplayMetrics().heightPixels;

    // 20% padding
    int padding = (int) (width * 0.20);

    //set latlong bounds
    mMap.setLatLngBoundsForCameraTarget(bounds);

    //move camera to fill the bound to screen
    mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, width, height, padding));

    //set zoom to level to current so that you won't be able to zoom out viz. move outside bounds
    mMap.setMinZoomPreference(mMap.getCameraPosition().zoom);
}

【讨论】:

    【解决方案2】:

    要仅显示特定区域或区域,您可以使用多边形。

    Polygon 对象与 Polyline 对象的相似之处在于它们由有序序列中的一系列坐标组成。然而,多边形不是开放式的,而是设计用于定义封闭环内的区域,内部填充。

    您可以像添加折线一样向地图添加多边形。首先创建一个 PolygonOptions 对象并向其添加一些点。这些点将形成多边形的轮廓。然后通过调用 GoogleMap.addPolygon(PolygonOptions) 将多边形添加到地图中,这将返回一个 Polygon 对象。

    访问page,了解如何使用 Polygon。

    【讨论】:

      猜你喜欢
      • 2015-01-31
      • 2014-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      • 1970-01-01
      相关资源
      最近更新 更多