【问题标题】:Use Google Maps API MapView without permission未经许可使用 Google Maps API MapView
【发布时间】:2023-03-13 20:41:01
【问题描述】:

有谁知道是否可以在不授予位置权限的情况下使用适用于 Android 的 Google Maps API MapView?我只想渲染一张地图并在上面放置一个标记。我不会以任何方式询问用户的位置。

我无法使用 MapFragment,因为我将此视图保存在另一个 Fragment 中,并且在 Android 4.2 之前不支持嵌套 Fragment。

【问题讨论】:

  • 您知道SupportMapFragment 以及Fragments 的所有支持库版本,都支持返回API4 的嵌套片段吗?
  • 是什么让您认为任何 Map API 都需要位置权限?
  • 支持片段回到 v4,但嵌套片段不支持。我认为您不能在 v17 之前嵌套支持片段。
  • 你 100% 可以使用嵌套片段回到 API 4。
  • 它需要位置权限,因为当我尝试使用 Client must have ACCESS_FINE_LOCATION permission to request PRIORITY_HIGH_ACCURACY locations. 膨胀视图时它崩溃了

标签: android google-maps google-maps-markers google-maps-android-api-2


【解决方案1】:

根据specify Android permissions section

建议使用以下位置权限,但如果您的应用程序无法访问用户的当前位置(以编程方式或通过启用“我的位置”层),您可以忽略它们。

它应该请求权限的唯一情况是您调用setMyLocationEnabled(true)

【讨论】:

  • 天哪,谢谢!我复制了具有map.setMyLocationEnabled(true) 的示例代码。非常感谢!
【解决方案2】:

如果您只想显示带有标记的地图,我建议使用Google Maps Static Maps API。使用它,您可以显示带有标记和许多其他地图选项的地图图像。然后,当用户单击图像时,您可以打开实际的 Google 地图。不过,这需要互联网许可。

<uses-permission android:name="android.permission.INTERNET" /> 

【讨论】:

  • 嗯,有趣的可能性。如果无法禁用原生 android maps API 的权限,这将是一个很好的后备方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 1970-01-01
  • 1970-01-01
  • 2014-06-24
相关资源
最近更新 更多