作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用地理编码 API 将地址转换为纬度和经度坐标值。我确实收到了结果,但 lat 和 long 是空的。其他 SO 帖子提到 Geocoder 请求是异步的,Google 返回数据的速度不够快。如果这是问题所在,我不明白如何为我的代码修复此问题。
var coords = [];
var address = '1600 Pennsylvania Ave NW, Washington, DC 20500';
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': address}, function( results, status ) {
if (status === google.maps.GeocoderStatus.OK) {
coords[0] = results[0].geometry.location.lat();
coords[1] = results[0].geometry.location.lng();
}
else {
coords = 'Could not retrieve coordinates for: ' + address;
}
});
return coords;
即使我使用众所周知的地址,我仍然无法获得纬度或经度。
结果对象:
这真的是问题所在还是我使用的代码有问题?我该如何解决这个问题?
最佳答案
很久以前就有人问过这个问题,但是您的代码给了我解决问题的提示。API 调用返回的响应只有 function lat & function lgt,所以没有坐标。您必须调用问题中指定的函数
coords[0] = results[0].geometry.location.lat();
coords[1] = results[0].geometry.location.lng();
如果你console.log(coords),你可以看到结果。
关于javascript - 谷歌地图地理编码 API 不返回纬度和经度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37357713/
leaflet:一个开源并且对移动端友好的交互式地图 JavaScript 库 中文文档: https://leafletjs.cn/reference.html 官网(英文): ht
我是一名优秀的程序员,十分优秀!