我正在开发一个应用程序,可以在Android上找到最近的药房,医院等。
我可以通过手机获取我的位置详细信息,但我如何找到我附近的地方? 谷歌地图可以按地名提供mapview的搜索吗?
答案 0 :(得分:2)
这是搜索“药房”一词的一种方法
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,了解有关如何定义搜索边界框的更多详细信息。
答案 1 :(得分: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,但它是一个很好的教程,了解如何找到最近的位置给用户,我已经开发了类似于你自己的东西,并发现该教程非常有帮助
答案 2 :(得分:1)
我开发了相同类型的应用程序,找到最近的ATM机。逻辑很简单,你需要先将所有phamesy的lat-lon存储在一个表中,然后通过计算当前的lat-lon细节找到最近的距离。
答案 3 :(得分:1)
查看Google Places API,它允许您通过一些简单的REST端点搜索给定位置(lat,long)周围的位置,您可能正在寻找的是Near me search或Radar search