Javascript 谷歌地理编码-无法提取坐标
我在这里得到了一些帮助,我尝试将两段代码放在一起得到以下结果: 用户单击地理编码按钮 向用户提供以下信息(键入的地址、城市、州、国家、坐标) 这是我通过一些帮助拼凑的代码: 这是完整的书面代码:Javascript 谷歌地理编码-无法提取坐标,javascript,jquery,google-maps,google-maps-api-3,geolocation,Javascript,Jquery,Google Maps,Google Maps Api 3,Geolocation,我在这里得到了一些帮助,我尝试将两段代码放在一起得到以下结果: 用户单击地理编码按钮 向用户提供以下信息(键入的地址、城市、州、国家、坐标) 这是我通过一些帮助拼凑的代码: 这是完整的书面代码: var myLatlng = new google.maps.LatLng(31.272410, 0.190898); // INITALIZATION function initialize() { var mapOptions = { zoom: 4,
var myLatlng = new google.maps.LatLng(31.272410, 0.190898);
// INITALIZATION
function initialize() {
var mapOptions = {
zoom: 4,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
}
// GEOCODE
function codeAddress() {
var address = document.getElementById("address").value;
geocoder.geocode({
'address': address
}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var address = "",
city = "",
state = "",
zip = "",
country = "";
for (var i = 0; i < results[0].address_components.length; i++) {
var addr = results[0].address_components[i];
if (addr.types[0] == 'country') country = addr.long_name;
else if (addr.types[0] == 'street_address') // address 1
address = address + addr.long_name;
else if (addr.types[0] == 'establishment') address = address + addr.long_name;
else if (addr.types[0] == 'route') address = address + addr.long_name;
else if (addr.types[0] == 'postal_code') zip = addr.short_name;
else if (addr.types[0] == ['administrative_area_level_1']) state = addr.long_name;
else if (addr.types[0] == ['locality']) city = addr.long_name;
}
alert('City: ' + city + '\n' + 'State: ' + state + '\n' + 'Zip: ' + zip + '\n' + 'Country: ' + country);
}
}
});
} else {
alert("Geocode was not successful for the following reason: " + status);
};
});
}
initailize();
document.getElementById("codeAddress").onclick = function () {
codeAddress();
return false;
};
var mylatng=new google.maps.LatLng(31.272410,0.190898);
//初始化
函数初始化(){
变量映射选项={
缩放:4,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map(document.getElementById(“地图画布”),mapOptions);
}
//地理编码
函数代码地址(){
var address=document.getElementById(“地址”).value;
地理编码({
“地址”:地址
},功能(结果、状态){
if(status==google.maps.GeocoderStatus.OK){
var address=“”,
城市=”,
state=“”,
zip=“”,
国家=”;
对于(var i=0;i
我不熟悉javascript编程,但它的工作方式应该是,如果地理编码成功,它会捕获变量并将它们转储到对话框中,但它只是不这样做。它是没有达到一个简单的括号错误,还是写了一个更错误的东西 initailize()代码>。只是说说而已
(再次)纠正小提琴:
这一次,我已经分叉了,所以没有人会覆盖它。修复方法:
- 你有一个额外的括号靠近其他。清除
- 您也从未定义或实例化
地理编码器
。这已经被添加
- 键入
初始化
请简化您的代码并实际阅读其他问题的更正。我已经纠正了三个错误中的一个。您的JS再次出现问题。太多};你应该学会正确缩进你的代码,这对你很有用……我在JSFIDLE上使用了jstidy,我认为它会正确缩进:(而且,div
不是HTML5和XHTML中的自动关闭HTML标记。