Geolocation 确定地理定位是否基于ip?

Geolocation 确定地理定位是否基于ip?,geolocation,google-maps-api-3,Geolocation,Google Maps Api 3,我正在玩谷歌地图api,想向访问者显示一条消息,如果谷歌地图地理位置是基于IP的,而不是来自wifi或gps。 原因是告诉他们位置不太准确。。。 但是我找不到用于检查此的函数。谷歌地图地理编码API参数之一是传感器: “传感器(必需)-指示地理编码请求是否来自具有位置传感器的设备。此值必须为true或false。” 您可能需要对用户环境进行检查,以检测其是否使用GPS,然后将该值作为传感器的参数传递。这可能因环境而异(至少我不知道如何使其与平台无关) 另一种可能是使用Google ClientL

我正在玩谷歌地图api,想向访问者显示一条消息,如果谷歌地图地理位置是基于IP的,而不是来自wifi或gps。 原因是告诉他们位置不太准确。。。
但是我找不到用于检查此的函数。

谷歌地图地理编码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的地理定位也不是那么准确。。。