我对javascript和谷歌地图都很陌生。我有一个输入,在提交时,会对值进行地理编码,我喜欢它:
我的代码有点像这样:
var map;
function getlatlong() { //this function gets the input value and then geocodes
if(map.length){recentermap()} //if map exists, recenter map
else{createmap()} //create map
}
function createmap(){ //this function creates the map (by editing `var map`)
var map = new google.maps.Map();
}
我想我只是不明白js变量是如何工作的......我的问题是,如果我在第二个函数中更改var map,如何更改var map?
答案 0 :(得分:2)
当你说:
function createmap(){ //this function creates the map (by editing `var map`)
var map = new google.maps.Map();
}
您正在创建一个名为map的局部变量,该变量仅存在于createmap函数中。您想使用在外部作用域中声明的map
变量,因此不应使用var
关键字:
function createmap(){ //this function creates the map (by editing `var map`)
map = new google.maps.Map();
}