1

我被要求创建一个 JavaScript 解决方案来获取用户的地址(主要是邮政编码)。为此,我们需要高度的准确性。

我决定采用以下使用 Google Maps API for Business 的解决方案。我已经模拟了一个工作示例,并且效果很好。你认为这在野外是可靠和准确的吗?

解决方案:

如果(手机/平板电脑)使用浏览器 W3C 地理位置 API(返回)纬度/经度 + 准确度。 W3C 地理定位 API:http ://dev.opera.com/articles/view/how-to-use-the-w3c-geolocation-api/

如果(台式机/IE8/IE7)使用 Google Geolocation API(返回)纬度/经度 + 准确度。 https://developers.google.com/maps/documentation/business/geolocation/

以最高精度获取结果。

如果(准确度很差)向用户询问邮政编码。

(否则)使用具有最高准确度的结果并通过 Google 反向地理编码 API(返回)用户地址和邮政编码运行它。 https://developers.google.com/maps/documentation/geocoding/#ReverseGeocoding

4

2 回答 2

1

如果不了解您的用例,判断准确性有点困难,尤其是对于桌面设备,在很多情况下(例如 VPN、公司网络等),地理定位的地址与用户的实际地址完全不同。对于商店定位器的默认视图来说已经足够好了,但对于许多其他事情来说可能还不够好。

如果您决定继续这样做,主要问题是 Google Geolocation API 的免费版本限制为每天 100 个查询:

https://developers.google.com/maps/documentation/business/geolocation/#usage_limits

您需要购买 Maps for Business 许可证才能获得更多配额,或者如果您计划在 Google 地图之外使用结果。

于 2013-06-11T01:34:28.757 回答
0

我们已经运行了一些原型,发现这种方法很好。除了来自 Google Geolocation API 的可怕准确性。看起来很结实。W3C Geolocation 弹出窗口的可用性存在一个问题。桌面上的一些用户错过了这一点。

于 2013-06-12T07:43:03.347 回答