【问题标题】:Geographic Locality Selection using Google Maps Android API v2 or Google PlacePicker使用 Google Maps Android API v2 或 Google PlacePicker 进行地理位置选择
【发布时间】:2015-12-11 06:31:32
【问题描述】:

我希望能够在 Android 设备上显示地理地图,并允许用户点击地图以选择该点所在的地理位置。例如,如果我在 Soldier Field芝加哥,我的应用程序显示士兵场周围的区域,用户单击芝加哥边界内的地图上某处,我存储了地名芝加哥及其坐标。

我已经做的是实现 PlacePicker 以显示代表手机当前位置的地图,然后允许用户单击地图上的某个点或地图上显示的位置,然后存储该点或地方。有了这个,我可以选择代表地理区域的地方,但它可能非常笨拙。根据缩放级别,“芝加哥”位置可能不会显示在可见地图上,我不想让用户滚动和缩放才能找到它。我希望他们能够在士兵场周围区域中选择一个点,并让应用识别该点位于芝加哥的地理区域内。

我不明白如何使用地点和/或谷歌地图 API 来识别地理点的层次结构(当您只有一个地理点时,您如何到达该地理区域 - 在这种情况下是城市或城镇——该点所在的位置)。

提前感谢您的帮助。

【问题讨论】:

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


    【解决方案1】:

    当你只有一个地理点时,你如何到达 地理区域——在这种情况下是一个城市或城镇——该点是 在

    这称为反向地理编码。

    您可以查看 Nominatim (http://wiki.openstreetmap.org/wiki/Nominatim),它提供了基于 openstreetmap 数据的反向地理编码 API。该服务提供地址层次结构。

    例如,对于您引用的位置 -

    http://nominatim.openstreetmap.org/reverse?format=xml&lat=41.862749&lon=-87.615455&zoom=18&addressdetails=1

    但请注意,结果取决于众包的 openstreetmap 数据,并且可能因地而异。例如。它可能会错过城市/村庄,具体取决于相关区域的基础数据的好坏。

    【讨论】:

    • 谢谢。我希望使用 google maps apis for android 而不是 openstreetmap,但 google 似乎具有类似的反向地理编码功能,我现在找到了一些示例。我去看看。
    • 一旦我知道这种类型的功能称为反向地理编码,它就非常简单。我使用了 android.location.Geocoder。谢谢。
    • 请注意,作为 Google,一些智能机器人可能会根据您可能永远不知道的标准将特定的使用模式检测为滥用:) stackoverflow.com/questions/8218764/…
    猜你喜欢
    • 1970-01-01
    • 2012-06-13
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多