从地名获取位置纬度和经度值
Get location lattitude and longitude value from place name
我正在编写一个JavaScript函数来返回给定地名的纬度和经度值。我使用谷歌地图API来获得结果。然而,我没有得到我想要的结果。下面是我的代码来获得结果。
function getLocationCoordinates(place)
{
var geocoder = new google.maps.Geocoder();
var address = place;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
//alert(results[0].geometry.location.H+","+results[0].geometry.location.L);
return results[0].geometry.location.H+","+results[0].geometry.location.L;
} else {
return "0,0";
}
});
}
当我调用函数getLocationCoordinates('kollam')时,我得到值"未定义"。它应该返回值'8.8800,76.6000'。然而,当我警告'results[0].geometry.location. h +","+results[0].geometry.location. h +"。L'表示正确的值。如何使这个函数返回正确的值
你的代码有两个问题
首先geocoder.geocode()
是异步的,这意味着你将无法返回响应到你的外部函数,因为在函数完成之前数据不会从谷歌服务器返回。
第二……即使它不是异步的,来自geocode回调内部的return
也不会返回到外部函数。
目前getLocationCoordinates()
将总是返回undefined,因为没有返回任何
您需要返回一个承诺,该承诺将与geocode响应一起解析,或者在geocode回调中使用数据。
相关文章:
- “可绘制地图”设置地图选项“纬度-经度”
- 如何用javascript获取谷歌地图的经度和纬度
- 使用API在我的网站Google-Map上显示搜索地址的纬度和经度
- 使用传单在地图框上显示纬度和经度
- 如何使用谷歌地图中的纬度和经度搜索附近的位置
- 如何在不重新加载整个网页的情况下动态更改经度和纬度的值
- 如何通过javascript从jsongooglemapapi中获取地理编码纬度和经度
- 如何使用XML中的经度和纬度值在地图上显示位置
- 使用地图框 API 将邮政编码转换为纬度和经度
- 在 PHP 或 JavaScript 中获取用户的纬度和经度,以便在 PHP 中使用
- 使用 Javascript 获取坐标经度纬度
- 经度纬度 (WGS84) 到圆锥变换的转换
- 如何将经度/纬度转换为静态地图图像
- 使用经度纬度创建地形(以三.js为单位)
- 使用经度/纬度在国家地图上标记位置
- 查找离给定经度/纬度最近的城市
- 将贴图的xyz坐标转换为经度/纬度
- 谷歌地图标记数组,我如何得到经度/纬度
- topojson / D3 / 经度+纬度地图
- 获取给定中心点和半径的边界框的经度/纬度值