2011-05-31 75 views
1

我正在玩google maps-api,並且想要顯示訪問者一條消息,如果谷歌地圖地理位置是基於IP而不是從wifi或gps。 原因是告訴他們,位置不是那麼準確... 但我找不到檢查此功能。確定地理位置是否基於IP?

+0

你不應該告訴他們在任何情況下?基於WiFi的地理位置並不是那麼準確...... – Piskvor 2011-05-31 15:37:15

回答

0

一個谷歌地圖地理編碼API參數的是傳感器

「傳感器(必要) - 指示地址解析請求是否來自一個設備與位置傳感器,該值必須爲真或假。」

你可能要對用戶環境進行檢查,如果使用GPS來檢測,然後傳遞值作爲傳感器的參數。這可能因環境而異(至少我不知道如何使其與平臺無關)。

另一種可能性是使用Google ClientLocation,我相信它只使用基於IP的位置。然後,您可以將其與您擁有的值進行比較。如果他們是一樣的,那麼你知道。

0

我不相信Google Maps API v3中有一種機制來確定如何獲取位置。但是,您可以使用準確性屬性來查明位置的精確度,然後在用戶高於您設置的閾值時提醒用戶。

精度屬性以米爲單位指定。因此,較小的數字意味着您收到的位置更準確。

下面是一個例子:

navigator.geolocation.getCurrentPosition(
    function(position) { alert(position.coords.accuracy); }, 
    function() {alert("failure"); }, 
    {enableHighAccuracy:true});