在函数JavaScript中调用属性


call attributes inside a function JavaScript

我有这样的脚本。

map.addMarker({
 lat: data[x]['lat'],
 lng: data[x]['lng'],
 icon: iconUsed,
 click: function() {
  alert(lat)
 },
 infoWindow: {
  content: popupMaps.join(''),
 });

是否可以在addMarker()中调用'lat'参数?我的意思是,当我点击标记时,它会提醒我最后一个参数。我不知道出了什么问题,如果我使用alert(data[x][' late ']),它总是会显示我在'x'循环中的最后一个增量数。

希望有人知道我的意思对不起,我的英语不好

听起来像是在循环中做这个。如果是这样,将条目的实际创建移动到您使用latlng:

调用的自己的函数中。
function addMarker(lat, lng, iconUsed) {
    map.addMarker({
        lat: lat,
        lng: lng,
        icon: iconUsed,
        click: function() {
            alert(lat);
    },
    infoWindow: {
        content: popupMaps.join(''),
    });
}

您需要在mappopupMaps所在的作用域中定义该函数。

然后从循环中调用它:

addMarker(data[x]['lat'], data[x]['lng'], iconUsed);

这样,您的click回调关闭latlng参数到addMarker,这不会改变,而不是关闭datax,它们会改变。

不确定我是否得到了你需要的,也许这个

var lat = data[x]['lat'];
map.addMarker({
 lat: lat,
 lng: data[x]['lng'],
 icon: iconUsed,
 click: function() {
  alert(lat)
 },
 infoWindow: {
  content: popupMaps.join(''),
 });