2012-08-29 51 views
1

我已經使用谷歌地圖API爲我的PHP項目只是點標記。現在我正在構建一個android應用程序。我有我自己的mysql數據庫的經濟和緯度我的國家的醫院名單。我想建立這樣的應用程序,它會從GPS獲取座標並在我的數據庫中搜索10公里範圍內的醫院。我見過像API谷歌地圖API找到10公里內的醫院

maps.googleapis.com/maps/api/place/search/output?parameters

但在這裏我想用我自己的數據庫。有什麼出路嗎?

在此先感謝

回答

0

我做了一些非常相似的事情,也有這個問題。

我收到這個答案https://stackoverflow.com/a/10771017/975959

基本上,你可以寫一個PHP文件到你的數據庫(不是通過Android的直接訪問一個更好的解決方案)進行交互,讓MySQL的做必要的計算,只返回一個其距離不到10公里。

好運

0

如果您的問題被發現,是附近的醫院,你可以使用此代碼:

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; 
    } 
} 

只需通過該設備的座標和各醫院的座標。 如果數據在服務器上,只需發送設備座標,並且可以在服務器或數據庫中實現上述功能。

希望它能幫助你。

+0

謝謝你!我已經通過必要的修改測試了代碼。似乎工作 – Aditi