簡體   English   中英

在函數 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]['lat']) 它總是會顯示'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回調會關閉addMarkerlatlng參數,它們不會改變,而不是關閉datax ,它們會改變。

不確定我是否得到了你需要的東西,也許這個

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM