2014-05-21 132 views
-2

我需要開發這個想法,我有一個MYSQL數據庫在我的網站,從一些本地商店的地址。谷歌地圖API與PHP集成

我需要在聯繫人頁面中有一個搜索框,讓用戶鍵入他的地址或城市,例如,並將該信息發送到Google地圖API並從該地址收回最近的本地商店...

問題是,我甚至不知道如何開始做,有沒有什麼地方可以找一個教程或類似的東西?

謝謝大家,對不起新手和壞英語。

+0

請嘗試此操作[Google Maps Javascript API v3文檔中的文章](https://developers.google.com/maps/articles/phpsqlajax_v3) – geocodezip

回答

0

我工作的是同一件事(除了我用html地理位置獲得用戶的位置)。

一般來說,這些步驟如下(我了):

  1. 如果不存在,但如果可能的話,在mysql表中的所有地址,每個地址添加緯度和經度列和計算這些值。這將使以後更容易在給定範圍內過濾地址。
  2. 獲取用戶在輸入/搜索框中輸入的地址的經度和緯度。
  3. 定義「最近的本地業務」。它多少公里?如果你有一定的金額,你可以創建一個邊界框,例如下面的代碼(我使用這個代碼):

    $ rad = 5; //以公里爲單位的邊界圓的半徑

    $ R = 6371; //地球的平均半徑,km

    //初次切割包圍盒(以度爲單位) $ maxLat = $ _GET ['lat'] + rad2deg($ rad/$ R); $ minLat = $ _GET ['lat'] - rad2deg($ rad/$ R); //補償經度隨緯度增加而變小 $ maxLon = $ _GET ['long'] + rad2deg($ rad/$ R/cos(deg2rad($ _ GET ['lat']))); $ minLon = $ _GET ['long'] - rad2deg($ rad/$ R/cos(deg2rad($ _ GET ['lat'])));

  4. 您可以使用變量minLat,maxLat,minLon,maxLon過濾掉mysql查詢中附近的地址,計算出distance並按照您喜歡的順序放置它們。

  5. 您可以將這些地址顯示爲html,但也可以在地圖上顯示爲標記。

Please read the google map API tutorial.這對我很有幫助。我認爲你需要關注的基本事情是:

  • 當前數據如何存儲?
  • 我有我需要的數據(經緯度)從已知的地址)?
  • 根據用戶的輸入,得到最近地址的mysql查詢是什麼?
  • 如何在網頁上顯示地圖,以及如何繪製 此地圖上的標記?

我希望這能給你一些指導。我仍然在學習很多,但這是我迄今爲止所獲得的。本教程將學習如何在網頁上顯示地圖的基本知識:https://developers.google.com/maps/tutorials/fundamentals/adding-a-google-map

祝您好運!