Ruby on rails 带轨道的移动地理定位?

Ruby on rails 带轨道的移动地理定位?,ruby-on-rails,ruby,ruby-on-rails-3,geolocation,Ruby On Rails,Ruby,Ruby On Rails 3,Geolocation,目前我正在使用和进行地理定位搜索。它适用于桌面浏览器,因为IP地址有特定的坐标。但是,对于移动浏览器来说,除非设备连接到wifi,否则它无法工作。为移动设备获取纬度和经度坐标的最佳方法是什么?我希望有一个解决方案,既适用于台式机,也适用于移动设备。谢谢大家! 您可以使用HTML5地理位置,它不适用于旧浏览器,但对于那些不支持地理位置的浏览器,您仍然可以使用IP地理位置作为备份 if (navigator.geolocation) { var timeoutVal = 10 * 1000

目前我正在使用和进行地理定位搜索。它适用于桌面浏览器,因为IP地址有特定的坐标。但是,对于移动浏览器来说,除非设备连接到wifi,否则它无法工作。为移动设备获取纬度和经度坐标的最佳方法是什么?我希望有一个解决方案,既适用于台式机,也适用于移动设备。谢谢大家!

您可以使用HTML5地理位置,它不适用于旧浏览器,但对于那些不支持地理位置的浏览器,您仍然可以使用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地理定位,它不适用于旧浏览器,但对于那些不支持地理位置的浏览器,您仍然可以使用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进行地理定位只是一个备份)。

如需澄清,HTML5地理位置是一个新标准,其理念是浏览器可以使用设备的底层技术来判断真实的地理位置,因此在移动设备的情况下,如果有GPS,它将使用GPS,或者尝试通过wifi、三角测量等获取位置。太棒了!有道理,你是我的英雄:)为了澄清,HTML5地理定位是一个新标准,其理念是浏览器可以使用设备的底层技术来判断真实的地理位置,因此在移动设备的情况下,如果有GPS,它将使用GPS,或者尝试通过wifi、三角测量等获取位置。太棒了!有道理,你是我的英雄:)