2
當前我正在使用Ruby Geocoder和Sunspot進行地理定位搜索。它適用於桌面瀏覽器,因爲IP地址具有特定的座標。然而,對於移動瀏覽器,除非設備連接到無線網絡,否則無法正常工作,那麼獲取移動設備的經緯度座標的最佳方式是什麼?我最好喜歡爲桌面和移動設備提供一種解決方案。謝謝!移動地理定位與Rails?
當前我正在使用Ruby Geocoder和Sunspot進行地理定位搜索。它適用於桌面瀏覽器,因爲IP地址具有特定的座標。然而,對於移動瀏覽器,除非設備連接到無線網絡,否則無法正常工作,那麼獲取移動設備的經緯度座標的最佳方式是什麼?我最好喜歡爲桌面和移動設備提供一種解決方案。謝謝!移動地理定位與Rails?
您可以使用HTML 5地理定位,它不適用於舊版瀏覽器,但對於那些不支持地理定位的瀏覽器,您仍然可以使用IP地理定位作爲備份。
if (navigator.geolocation) {
var timeoutVal = 10 * 1000 * 1000;
navigator.geolocation.getCurrentPosition(
displayPosition,
displayError,
{ enableHighAccuracy: true, timeout: timeoutVal, maximumAge: 0 }
);
} else {
alert("Geolocation is not supported by this browser");
}
function displayPosition(position) {
alert("Latitude: " + position.coords.latitude + ", Longitude: " + position.coords.longitude);
}
function displayError(error) {
var errors = {
1: 'Permission denied',
2: 'Position unavailable',
3: 'Request timeout'
};
alert("Error: " + errors[error.code]);
}
不知道你在做什麼,而是由JS,你可以嘗試存儲在一個隱藏變量的用戶的位置和緯度,而當他提出,如果您收到的經緯度,你保存它,否則,你檢查遠程IP並通過IP進行地理定位(所以地理定位通過IP它只是一個備份)。
爲了澄清,html 5地理定位是一個新標準,其思想是瀏覽器可以使用設備的底層技術來告訴真實的地理位置,所以在移動的情況下,它會使用GPS if它有一個,或嘗試通過wifi,三角測量等獲得位置。 – rorra
太棒了!有道理,你是我的英雄:) – Andy