4

我正在开发一个在 Android 上查找最近的药房、医院等的应用程序。

我可以在手机上获取我的位置详细信息,但我如何才能找到我附近的地方?谷歌地图可以按地名提供对 mapview 的搜索吗?

4

4 回答 4

2

最好的方法是在数据库中列出药房。可能在本地或在服务器上,在查询数据库时使用以下查询,该查询使用 harvesine 公式找到离您最近的药房。

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;

https://developers.google.com/maps/articles/phpsqlsearch

上面的教程不是针对 android 的,但它是一个很好的教程,可以帮助你了解如何找到离用户最近的位置,我开发了一些类似于你自己的东西,发现该教程非常有用

于 2012-04-20T11:21:59.377 回答
2

这将是搜索 Pharmacy 一词的一种方法

String url = "http://maps.google.co.uk/maps?q=Pharmacy&hl=en"
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));      intent.setClassName("com.google.android.apps.maps","com.google.android.maps.MapsActivity");
startActivity(intent);

您可以查看 maps.google.com 以获取有关如何为搜索定义边界框的更多详细信息。

于 2012-04-20T09:56:09.363 回答
1

看看 Google Places API,它允许您通过一些简单的 REST 端点搜索给定位置(纬度、经度)周围的地方,您可能正在寻找的是Near me 搜索雷达搜索

https://developers.google.com/places/documentation/

于 2012-12-20T00:41:11.697 回答
1

我开发了相同类型的应用程序,可以找到最近的 ATM 机。逻辑很简单,你需要先将所有phamesy的lat-lon存储在一个表中,然后通过当前的lat-lon细节计算找到最近的距离。

于 2012-04-20T09:53:21.847 回答