2010-07-21 94 views
5

我需要開發一個網頁應用程序。 (PHP)的手機100%,需要從手機GPS獲取信息,以獲得用戶的當前位置。我的問題是,我該怎麼辦?手機GPS網頁應用程序

我知道PHP,但我完全無法瞭解GPS部分(從未與他們合作過)。我正在尋找的是擡頭看看我是否可以處理這項工作,或只是拒絕它。

我聽說W3地理定位API做得非常好,但經過測試,我並不相信精度和瀏覽器支持。我不想使用Google的齒輪,因爲它必須先下載。

回答

1

我確實認爲W3C Geolocation API是一個很好的開始:它已經越來越被移動電話所接受,是一個開放的標準,並將所有設備專用ic API。

的確,準確度可能並不完美,但這是因爲手機本身可能並不總是完全知道它在哪裏。該API爲您提供了一些方法來解決這個問題:如果您需要高準確度,則可以通過標記enableHighAccuracy來設置您希望得到準確結果的設備,並設置一個長參數timeout以允許設備使用GPS查找位置。此外,所有位置均以95%的置信度返回精度值 - 如果錯誤過高(通常電​​話會在第一次請求時返回高錯誤),您可以再次請求位置,指定您不想要一個緩存的位置。

+0

可以將w3c地理位置API應用於PHP?或者它是單獨的JavaScript工作?我參考了參考資料,但無能爲力。謝謝。 – davidlee 2010-08-17 14:18:03

+1

@benmsia W3C API是一個JavaScript API,由越來越多的瀏覽器支持。如果需要,您可以通過使用AJAX將結果從JavaScript返回到服務器端PHP腳本來訪問這些信息,或者更好的方法是讓用戶通過自動填充的表單提交信息JavaScript的。 我明白規範本身可能很難閱讀:我有一些示例代碼在http://npdoty.name/location#developer – npdoty 2010-08-18 06:53:53

0

根據移動設備的不同,您可能有權訪問GPS。但是,在廣泛的移動設備中,您可能無法單獨從設備的瀏覽器中可靠地獲取它。考慮到蜂窩網絡的架構,讀取IP將是徒勞的。

它可以做到,但你需要建立在退化水平。

+0

也許不透明通過設備瀏覽器,但要求coords? – Ben 2010-07-21 02:16:40

+0

我不認爲普通用戶會知道這一點。如果你能夠提供給他們,那麼你有GPS數據。這真的歸結於您的應用程序的目的。問問你自己 - 這個位置是強制性的嗎?向用戶詢問它是不是很糟糕?有準確性要求嗎? – 2010-07-21 03:05:08

+0

對18個月大的答案進行投票。優雅。技術變化。很明顯,我現在已經過時了。這適用於SO上的任何事情。 – 2012-01-13 17:52:36

1

GPS COORDS都可以使用JavaScript - 地方像這樣的頁面加載:

function locationHandler(location) 
{ 
    var lat = location.coords.latitude; 
    var lng = location.coords.longitude; 

    if(lat && lng) 
    { 
     // something clever goes in here 
    } 
} 

if(typeof navigator.geolocation.getCurrentPosition == 'function') 
{ 
    navigator.geolocation.getCurrentPosition(locationHandler); 
} 

在評論是你想要做的事聰明。您可以填充表單值,或者對後端腳本執行ajax調用。

鏈接與谷歌的一些反向地理編碼,你是一個贏家!