使用Android在Google地图上设置区域

时间:2015-08-02 06:05:41

标签: android google-maps android-maps-v2

我想在Android Studio中使用Google Maps Activity仅显示特定区域,它会告诉用户是否超出范围/范围。

Specific Area 的示例, 地图链接来自How to highlight an area on Google Maps Without Javascript?

我该怎么做?

1 个答案:

答案 0 :(得分:1)

你想要达到的目标被称为"锁定范围"。 在Android中,这不能自动或直接完成,但你必须做一些"技巧"。

您有两种选择: 锁定整个范围(一个区域必须完全在可见范围内) 按地图中心锁定(地图的中心必须在特定范围内)。

为了做到这一点,你必须使用" onCameraChangeListener" googleMap对象: https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.OnCameraChangeListener

public void checkBounds() {
  // allowedbounds must be generated only once, in onCreate, because it will be a fixed area
  LatLng actualCenter = map.getProjection().getVisibleRegion().getCenter();
  if (allowedBounds.contains(actualCenter)){
    return;
  }else{

其中检查边界是检查某个区域或其中的一部分:

H: user2986 pass2986
H: user3258 pass3258 # { startdate=2015-05-15 | enddate=2015-11-17 |  info=girlfriend data | dealer=x-admin }

FILE CHANNELINFO: "/other/config.cfg"

//如果不遵守边界,请返回允许的边界         map.animateCamera(CameraUpdateFactory.newLatLngBounds(allowedBounds));       }     }

如果要检查是否遵守完全绑定,则必须编写自己的方法进行检查并更改if条件。 可以在此处找到该方法的提示: https://github.com/googlemaps/android-maps-utils/blob/master/library/src/com/google/maps/android/geometry/Bounds.java