我正在使用以下地理编码函数将文本地址转换为纬度和经度数字,但它无法正常工作。警报写入“未定义”。
谁能告诉我哪里出了问题?
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var geocoder = new google.maps.Geocoder();
var address = "new york";
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latitude = results[0].geometry.location.latitude;
var longitude = results[0].geometry.location.longitude;
alert(latitude);
}
});
</script>
最佳答案
试试用这个代替:
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
导航 Google 的 API 有点困难,但是 here is相关文件。
我很难找到的一件事是如何朝另一个方向前进。从坐标到地址。这是我需要使用的代码。请注意,我也使用 jquery。
$.each(results[0].address_components, function(){
$("#CreateDialog").find('input[name="'+ this.types+'"]').attr('value', this.long_name);
});
我正在做的是遍历所有返回的 address_components
并测试它们的类型是否与我在表单中的任何输入元素名称相匹配。如果他们这样做,我将元素的值设置为 address_components
值。
如果您只对整个格式化地址感兴趣,那么您可以关注Google's example。
关于从地址到纬度和经度数字的 Javascript 地理编码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5984179/