我已經使用谷歌地圖API爲我的PHP項目只是點標記。現在我正在構建一個android應用程序。我有我自己的mysql數據庫的經濟和緯度我的國家的醫院名單。我想建立這樣的應用程序,它會從GPS獲取座標並在我的數據庫中搜索10公里範圍內的醫院。我見過像API谷歌地圖API找到10公里內的醫院
maps.googleapis.com/maps/api/place/search/output?parameters
但在這裏我想用我自己的數據庫。有什麼出路嗎?
在此先感謝
我已經使用谷歌地圖API爲我的PHP項目只是點標記。現在我正在構建一個android應用程序。我有我自己的mysql數據庫的經濟和緯度我的國家的醫院名單。我想建立這樣的應用程序,它會從GPS獲取座標並在我的數據庫中搜索10公里範圍內的醫院。我見過像API谷歌地圖API找到10公里內的醫院
maps.googleapis.com/maps/api/place/search/output?parameters
但在這裏我想用我自己的數據庫。有什麼出路嗎?
在此先感謝
我做了一些非常相似的事情,也有這個問題。
我收到這個答案https://stackoverflow.com/a/10771017/975959
基本上,你可以寫一個PHP文件到你的數據庫(不是通過Android的直接訪問一個更好的解決方案)進行交互,讓MySQL的做必要的計算,只返回一個其距離不到10公里。
好運
如果您的問題被發現,是附近的醫院,你可以使用此代碼:
private boolean isItemInRange(double radius,
double latOrigin, double lonOrigin, double latDestination,
double lonDestination) {
double resultRadius = 6371 * Math.acos(Math.cos(Math.PI
* (90 - latDestination)/180)
* Math.cos((90 - latOrigin) * Math.PI/180)
+ Math.sin((90 - latDestination) * Math.PI/180)
* Math.sin((90 - latOrigin) * Math.PI/180)
* Math.cos((lonOrigin - lonDestination) * Math.PI/180));
if (resultRadius <= radius){
return true;
} else {
return false;
}
}
只需通過該設備的座標和各醫院的座標。 如果數據在服務器上,只需發送設備座標,並且可以在服務器或數據庫中實現上述功能。
希望它能幫助你。
謝謝你!我已經通過必要的修改測試了代碼。似乎工作 – Aditi