【问题标题】:Android: How to perform a nearby search on MapViewAndroid:如何在 MapView 上执行附近搜索
【发布时间】:2011-06-20 12:31:34
【问题描述】:

假设用户在第一步中从下拉列表中选择“星巴克”,现在我想显示一个 MapView 并列出用户位置周围的所有星巴克(我已经知道)。现在,有没有办法将“星巴克”传递给适当的组件(Geocoder?)以在没有任何用户交互的情况下开始搜索?

我找不到任何教程或示例代码,因此非常感谢您提供解决方法(如果可能的话)。

【问题讨论】:

    标签: android google-maps geolocation android-mapview google-geocoder


    【解决方案1】:

    您需要根据您所在位置与项目所在位置之间的距离在地图上手动绘制 itemOverlays。您可以使用位置对象的 distanceBetween 方法轻松获得它。假设您知道如何在地图上绘制叠加层,剩下的唯一事情就是获取包含名称和位置的源(可以是本地数据库、网络服务、地理编码器等)。

    这就是过程,现在关于数据源,尝试找到一些您可以使用的在线地理编码器,或者在 android sdk 中有一个实际上是我上次检查的谷歌地图地理编码器,但如果你尝试足够努力让它工作它确实很好。

    至少从地理编码器或 reverseGeocoder(一个是坐标到地址,另一个是地址到坐标),您会获得与您的搜索匹配的位置列表,因此请检查该位置并在地图上显示适当的位置。

    Google API

    SDK 中有 Google 地图地理编码器,仅供参考, 有 Cloudmade 它也有一个 api 你可以访问以进行地理编码,但没有免费的 sdk 可供使用,所以你需要自己解析东西,

    Cloudmade

    还有 yahoo maps geocoder api,您也可以使用它。

    Yahoo

    据我所知。

    【讨论】:

    • 我发现 Bing 地图还提供许多基于位置的服务。但是在研究了 Google 的 API 一段时间后,我认为在我的情况下,“Places”似乎是最合适的解决方案。感谢您的努力!
    猜你喜欢
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    相关资源
    最近更新 更多