2012-05-17 5 views
0

아직 Google Maps JavaScript API v3을 사용하고 있으므로 나와 함께하세요. 이 같은 동적 마커를 추가하는 건가요 :Google Maps JavaScript API v3 동적 인 정보창

var oldMarkers = null; 
    return function(map, locations){ 
     //Clearing markers, if they exist 
     if(oldMarkers && oldMarkers.length !== 0){ 
      for(var i = 0; i < oldMarkers.length; ++i){ 
       oldMarkers[i].setMap(null); 
      } 
     } 
     //Adding new markers 
     oldMarkers = []; 
     for (var i = 0; i < locations.length; i++) { 
      var newmarker = locations[i]; 
      var myLatLng = new google.maps.LatLng(newmarker[1], newmarker[2]); 
      var marker = new google.maps.Marker({ 
       position: myLatLng, 
       map: map, 
       shape: shape, 
       title: newmarker[0], 
       zIndex: newmarker[3], 
       clickable: true 
      }); 
oldMarkers.push(marker); 
} 

가 아니라 jQuery를 "클릭"기능을 기반으로 작동합니다. 지금 내가하고 싶은 것은 각 표식에 정보창을 추가하는 것입니다.

var j = i + 1; 
marker.setTitle(j.toString()); 
attachSecretMessage(marker, j); 

이 기능 : OK I이/oldMarkers.push(marker) 전에 가는가한다 구글의 코드가

function attachSecretMessage(marker, number) { 
    var message = ["This","is","the","secret","message"]; 
    var infowindow = new google.maps.InfoWindow(
     { content: message[number], 
     size: new google.maps.Size(50,50) 
     }); 
    google.maps.event.addListener(marker, 'click', function() { 
    infowindow.open(map,marker); 
    }); 
} 
그것은 일종의 작동

는, 그에서 정보 상자가 2 개 마커 을 표시 을 곳은해야 그렇지만 전부는 아닙니다. 이것은 내가 이해하지 못하는 경우 무엇을/수 있습니다 :

var essentials = [ 
['Marker 1', 12.254181, 12.649962 , 9], 
['Marker 2', 12.254181, 12.649962 , 9], 
['Marker 3', 12.254181, 12.649962 , 9], 
['Marker 4', 12.254181, 12.649962 , 9], 
} 

는 내가 필요로 무엇을 /를위한 배열 키를 추가하면된다 싶습니다 :이 같은 새로운 마커 (단지 예)를 만들기 위해 배열이있는 경우 정보창의 내용 때문에이 같은 비트 :

var essentials = [ 
    ['Marker 1', 12.254181, 12.649962 , 9, 'Info Window content'] 

가 어떻게 정보창에 newmarker[4]을 통과합니까?

미리 감사드립니다.

답변

0

OMG 나는 생각하고 있습니다! - 그냥 attachSecretMessage (marker, newmarker[4]);을 추가하십시오! 두께라고 말한 것처럼! 죄송합니다.