任何人都可以向我解釋爲什麼當我允許HTML5地理位置演示使用我的位置時,它總是返回紐約,但是,當我走到手機上時,它會顯示我的確切位置?我正在嘗試在我的網站上實現「當前位置」功能,但我不知道它是否可行。爲什麼地理定位不能返回確切地址
謝謝
任何人都可以向我解釋爲什麼當我允許HTML5地理位置演示使用我的位置時,它總是返回紐約,但是,當我走到手機上時,它會顯示我的確切位置?我正在嘗試在我的網站上實現「當前位置」功能,但我不知道它是否可行。爲什麼地理定位不能返回確切地址
謝謝
那麼,謝謝你有沒有一種方法可以模仿谷歌在他們的地圖上的位置? – 2012-02-20 06:18:30
我不明白你的問題。您的手機擁有比您的電腦更精確的地理定位設備。你不能從石頭上獲得血液。 – 2012-02-20 06:20:46
@Eric - google在某些時候使用了你*給予的地址,或者他們認爲你的地址是基於你的搜索,地圖使用,行爲等,以及你的IP地理定位的一般區域。它們並不是魔法般地將它從計算機中排除出去。可怕,不是嗎? – 2012-02-20 06:22:18
手機提供了許多附加信息,可用於比典型的有線桌面更準確地確定您的位置。值得注意的是:
一般來說,GPS可用時,很可能會給最高的精度。通過清晰的天空視圖,大多數手機都可以使用GPS將您的地理位置定位在5米或更短的範圍內。
公司像谷歌/蘋果有信息匹配已知AP SSID S/MAC地址的地理位置。手機能夠將信息發送給服務(例如Google的geolocation API),以瞭解其可以看到的AP及其信號強度。該服務根據它對這些AP的瞭解以及服務提供商用於根據AP信號強度確定位置的任何專有算法返回位置估計值。
很像的Wi-Fi信息,您的手機可以手機信號塔的知名度/信號強度信息歡送到可以基於它知道所考慮的蜂窩塔估測位置的服務。
這裏是一個什麼樣的手機可以發送關閉以Google's geolocation service一個例子(從鏈接逐字複製):
{
"version": "1.1.0",
"host": "maps.google.com",
"home_mobile_country_code": 310,
"home_mobile_network_code": 410,
"radio_type": "gsm",
"carrier": "Vodafone",
"request_address": true,
"address_language": "en_GB",
"location": {
"latitude": 51.0,
"longitude": -0.1
},
"cell_towers": [
{
"cell_id": "42",
"location_area_code": 415,
"mobile_country_code": 310,
"mobile_network_code": 410,
"age": 0,
"signal_strength": -60,
"timing_advance": 5555
},
{
"cell_id": "88",
"location_area_code": 415,
"mobile_country_code": 310,
"mobile_network_code": 580,
"age": 0,
"signal_strength": -70,
"timing_advance": 7777
}
],
"wifi_towers": [
{
"mac_address": "01-23-45-67-89-ab",
"signal_strength": 8,
"age": 0
},
{
"mac_address": "01-23-45-67-89-ac",
"signal_strength": 4,
"age": 0
}
]
}
需要注意的是一些在示例中的信息甚至比更詳細的我已經描述過。但是,您可能會想到有關位置的提示,即典型的現代手機提供的桌面計算機無法提供的位置。
從我個人的經驗來看,基於Wi-Fi/Cell塔的地理位置並不像GPS那麼精確,但可以相當不錯。例如,在沒有GPS芯片的基本型iPad上,我通常可以在僅基於Wi-Fi /蜂窩塔的50米範圍內獲得精度。在人口密度更高的Wi-Fi區域(例如城市),我想像的準確性會更好,並且會隨着時間的推移而繼續變得更好。
您的計算機是否碰巧內置了GPS設備/收音機? (您的電話確實) – 2012-02-20 06:16:01