Geolocation 确定地理定位是否基于ip?
我正在玩谷歌地图api,想向访问者显示一条消息,如果谷歌地图地理位置是基于IP的,而不是来自wifi或gps。 原因是告诉他们位置不太准确。。。Geolocation 确定地理定位是否基于ip?,geolocation,google-maps-api-3,Geolocation,Google Maps Api 3,我正在玩谷歌地图api,想向访问者显示一条消息,如果谷歌地图地理位置是基于IP的,而不是来自wifi或gps。 原因是告诉他们位置不太准确。。。 但是我找不到用于检查此的函数。谷歌地图地理编码API参数之一是传感器: “传感器(必需)-指示地理编码请求是否来自具有位置传感器的设备。此值必须为true或false。” 您可能需要对用户环境进行检查,以检测其是否使用GPS,然后将该值作为传感器的参数传递。这可能因环境而异(至少我不知道如何使其与平台无关) 另一种可能是使用Google ClientL
但是我找不到用于检查此的函数。谷歌地图地理编码API参数之一是传感器: “传感器(必需)-指示地理编码请求是否来自具有位置传感器的设备。此值必须为true或false。” 您可能需要对用户环境进行检查,以检测其是否使用GPS,然后将该值作为传感器的参数传递。这可能因环境而异(至少我不知道如何使其与平台无关)
另一种可能是使用Google ClientLocation,我相信它只使用基于IP的位置。然后可以将其与现有值进行比较。如果它们是相同的,那么你就知道了。我不相信Google Maps API v3中有一种机制来确定位置是如何获得的。但是,您可以使用“精确度”属性来确定位置的精确度,然后在高于您设置的阈值时向用户发出警告 精度属性以米为单位指定。所以一个较小的数字意味着你收到的位置更准确 下面是一个例子:
navigator.geolocation.getCurrentPosition(
function(position) { alert(position.coords.accuracy); },
function() {alert("failure"); },
{enableHighAccuracy:true});
无论如何,你不应该告诉他们吗?基于WiFi的地理定位也不是那么准确。。。