Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在页面加载时调用获取参数的javascript函数_Javascript_Function_Google Maps_Parameters_Google Maps Markers - Fatal编程技术网

在页面加载时调用获取参数的javascript函数

在页面加载时调用获取参数的javascript函数,javascript,function,google-maps,parameters,google-maps-markers,Javascript,Function,Google Maps,Parameters,Google Maps Markers,for(i=0;i

for(i=0;i}
添加侦听器时,调用的是
markerClick()
函数,而不是将其作为变量传递。以下是修复方法:

//使用这样一个单独的函数可以避免一些麻烦
//for循环中的回调和闭包问题
函数addMapMarkerClickListener(mapMarker,位置){
//我们使用匿名函数作为侦听器
mapMarker.addListener('单击',函数()){
标记点击(位置);
});
}
对于(i=0;i}
一个选项是让您的
标记单击
函数返回函数

function markerClick(location) {
  return function(evt) {
    console.log("you clicked " + JSON.stringify(location));
  }
}

代码片段:

var位置=[
[{lat:42,lng:-72},“这里”],
[{lat:42.1,lng:-72.1},“那里”]
];
var mapMarkers=[];
函数初始化(){
var map=new google.maps.map(
document.getElementById(“地图画布”){
中心:新google.maps.LatLng(42,-72),
缩放:10,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
对于(i=0;i
html,
身体
#地图画布{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}


不要调用函数:)您正在调用该函数并将其返回的内容分配给click。click listener函数中的
就是标记
this.getPosition()
将给出它的位置。谢谢,我不知道我是在调用它而不是传递它