2016-04-10 18 views
0

gmap3 google maps kütüphanesinde, infowindow ile bir işaretleyici yapan bir işlev yapmaya çalışıyorum. Yanlış işaretleyici gmap3 dosyasında alındı ​​

function addMarker(map, marker, content) { 
    map.marker(marker) 
    .infowindow({ 
     'content' : content 
    }) 
    .then(function (infowindow) { 
     var map = this.get(0); 
     var marker = this.get(1); // <---- this gets the first marker on both times I call addMarker, i.e. uluru 
     marker.addListener('click', function(event, data) { 
      infowindow.open(map, this); 
     }); 
    }); 
} 

$(document).ready(function() { 

    var uluru = {lat: -25.363, lng: 131.044}; 

    var map = $('#map') 
     .gmap3({ 
     zoom: 4, 
     center: uluru 
     }); 

    addMarker(map, { 
     position: uluru 
    }, "text"); 
    addMarker(map, { 
     position: {lat: 48.8620722, lng: 2.352047} 
    }, "text2"); 
}); 

Bu

http://gmap3.net/api-infowindow.html

ben ne var, fakat sorun ben bir işaret (i kodda bir açıklama koymak) elde etmeye çalışmak üst, içinde olduğu, bu başvuru gibi görünüyor yanlış işaretçi. Her iki seferde, benim yaptığım ilk işarete başvurur. Sonuç olarak, haritadaki ilk işaretleyiciyi tıklarsam, her iki işaretin de bu işaretçiyi göstermesini sağlarım.

Neyin yanlış olduğunu bilen var mı?

Teşekkür

cevap

0

fonksiyon baştan zincirleme sonuçlar alır "get", indeksleri hiç değişmeyecek. kullanarak işlevinde yerel

Store'a "ardından"

function addMarker(map, marker, content) { 
    var gmMarker; 
    map 
     .marker(marker) 
     .then(function (m) { 
     gmMarker = m; 
     }) 
     .infowindow({ 
     'content' : content 
     }) 
     .then(function (infowindow) { 
     var map = this.get(0); 
     gmMarker.addListener('click', function(event, data) { 
      infowindow.open(map, this); 
     }); 
     }); 
} 
İlgili konular