【发布时间】:2017-01-09 19:15:11
【问题描述】:
我正在使用 Google Maps JavaScript API v3,并且正在使用 Places API 返回自动完成结果。如果我有用户的位置,我想将从Autocomplete 返回的结果绑定到用户所在的城市。
我知道,如果我对一个位置进行地理编码,例如“美国德克萨斯州休斯顿”,Google Maps API 的部分响应将包含一个LatLngBounds,我可以将其用作Autocomplete 之类的边界.但是,因为我是通过浏览器获取用户的位置,所以我只有一组纬度和经度坐标。最直接的解决方案是对用户的位置进行反向地理编码以获取其大致区域,然后对该区域进行地理编码以获取LatLngBounds。但是,这似乎非常低效。没有这种来回的地理编码,有没有更有效的方法来实现这一点?
【问题讨论】:
-
地点响应包含返回结果的视口/边界,但不包含任何其他地址组件。
-
嗨,克里斯,我看到您对我的回答发表了评论(感谢您的积极评论),然后我看到了您的这个问题,并认为它看起来有点奇怪,因为我可以从自动完成中获得界限使用代码
place.geometry.viewport.getSouthWest().lat().toFixed(6);(依此类推,用于构成边界的其他 3 个坐标)。这是你要找的吗? -
谢谢。不幸的是,我希望根据来自 JavaScript Geolocation API(内置,而不是 Google)的用户位置设置
Autocomplete的边界,而不是从已经设置的Autocomplete中获取边界。我确实找到了一些解决方案,我会继续在这里发布。 -
好的,现在我明白了,我想..你是在说
navigator.geolocation.getCurrentPosition吗?如果是这样,那么我有一个解决方案来获得比您发布的解决方案更好的边界。它从谷歌地图地理编码器中获取results[0].geometry.viewport.getSouthWest().lat().toFixed(6);,速度非常快。如果您有兴趣,请发表评论并附上我的名字,以便我收到通知。
标签: javascript google-maps google-maps-api-3