我正在尝试编写一个使用标签创建标记的JQuery对象
每次创建标记时,我都会通过单击标记时要执行的功能,因此我为该功能添加了两个字段clickCallBackFunction
,为其参数添加了params
问题在于函数传递成功,但参数传递失败。
Maps={
createLabel:function(config){
var marker=new MarkerWithLabel(
{position:config.position,
map:this.map,
icon:'/img/s.gif',
labelContent:config.text,
clickCallBackFunction:config.clickCallBackFunction||null,
params: config.params||null,
}
);
if(config.clickCallBackFunction){
google.maps.event.addListener(marker,"click", function(e){
params = {};
if(this.params ){
params = this.params;
}
window[this.clickCallBackFunction](params );
});
}
},
}
这些是我如何创建标记的示例:
情况1:我使用2个参数调用函数
Maps.createLabel({text:"text",
position:labelPosition,
clickCallBackFunction: "clickOnCity",
params: {lat: lat, lon: lon}
})
function clickOnCity(lat, lon){
//do something
}
情况2:我使用3个参数调用函数
Maps.createLabel({text:"text",
position:labelPosition,
clickCallBackFunction: "zoomCity",
params: {lat: lat, lon: lon, zoom: zoom}
})
function zoomCity(lat, lon, zoom){
//do something
}