如何使用 google maps api for android 将地图限制在一个国家/地区

Posted

技术标签:

【中文标题】如何使用 google maps api for android 将地图限制在一个国家/地区【英文标题】:how to restrict maps to only one country using google maps api for android 【发布时间】:2016-08-04 15:34:12 【问题描述】:

我对 google 的 android 地图 API 完全陌生,我想知道是否可以将地图显示的区域限制在一个国家/地区。我的意思是我的目标用户只在我自己的国家,当应用程序逻辑只在这个国家时,向他们展示整个世界是没有用的也不合乎逻辑的。

有什么想法吗?

ps:如果在 google 的 api 中不可能,有没有办法用另一个提供映射服务的来源的另一个 api 来做到这一点?

【问题讨论】:

【参考方案1】:

如果您仍然感兴趣,现在可以使用setLatLngBoundsForCameraTarget 方法restrict the user's panning to a given area。

您需要更新 Play 服务的依赖项:

dependencies 
    compile 'com.google.android.gms:play-services:9.6.1'

【讨论】:

我会在我的项目中测试它。非常感谢【参考方案2】:

您可以将用户视图限制在地图的特定正方形-也许-,为此,您可以使用以下内容:

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);

在这种情况下,用户将无法放大地图中相机完全超出您指定范围 -square- 的区域。

更多详情,来源:https://developers.google.com/maps/documentation/android-api/views#restricting_the_users_panning_to_a_given_area

【讨论】:

【参考方案3】:

我很确定您不能只使用 google api 服务显示您选择的国家。但是,您可以做的是通过查找您的国家/地区代码(例如,使用此链接 https://countrycode.org/)然后将查询添加到您的 google 地方 api,例如,将 google 地方自动完成限制在特定国家/地区。

components=country:your_country_code    //Insert code into example

例如,这就是它的样子:

  https://maps.googleapis.com/maps/api/place/autocomplete/json?
input=bhubaneshwar&components=country:in&sensor=false&key=your_key

【讨论】:

【参考方案4】:

开箱即用这是不可能的。但是,您理论上可以做的是找到显示相关国家/地区的最大边界框,然后每次相机移动时检查以确保边界框在最大边界框内。如果没有设置为最大值。这会将他们限制在某个地方

【讨论】:

【参考方案5】:

您可以覆盖地图并指定纬度和经度 并以适合您的方式放大并禁用地图的手势 看这个例子之前回答过

limit scrolling and zooming Google Maps Android API v2

【讨论】:

以上是关于如何使用 google maps api for android 将地图限制在一个国家/地区的主要内容,如果未能解决你的问题,请参考以下文章

Google Map Api for Android

使用 Restriction for Ionic 应用程序保护 Google Maps API 密钥

Google Map API - 移除标记

服务器返回 HTTP 响应代码:403 for URL Google maps api URL

在 Android google maps api v2 for 4.0 中,显示从当前位置到给定纬度的路线

用于从 Google for business 获取所有评论和评级的 API