2013-01-07 1 views
1

Google지도를 Google지도 api v3 버전으로 만들었습니다. 마커와 클러스터로 가득 찬 "표준"Google지도입니다. 모든 마커와 클러스터에는 InfoWindow가있어 최종 사용자가 InfoWindow를 클릭 할 때 보여줍니다.모든 마커와 마커에 대해 Google지도 정보를 자동으로 엽니 다.

내가 필요한 것은지도에 표시된 모든 마커와 클러스터의 InfoWindows를 모두 열 때입니다. 지금

, 그들은 내가 그들을 클릭하는 경우에만 보여 주었다됩니다

google.maps.event.addListener(markerGreenCluster, 'clusterclick', function(markerGreenCluster) { 

    var content = ''; 
    var info = new google.maps.MVCObject; 
    info.set('position', markerGreenCluster.center_); 
    var infowindow = new google.maps.InfoWindow(); 
    aIWgreen.push(infowindow); 
    var center = markerGreenCluster.getCenter(); 
    var size = markerGreenCluster.getSize(); 
    var markers = markerGreenCluster.getMarkers(); 

    // more code goes here... 

}) 

나는 markerGreenCluster.getSize(); 그것은 grupped 마커의 수를 반환하고, 그것을 반환 할 수있는 문제가 클러스터 정의에 발견, 및 방법 전체지도가로드 된 후 또는 그와 비슷한 것입니다.

지도가로드 될 때 모든 InfoWindow가 열려있는 (표시되는) 방법을 어떻게 얻을 수 있습니까?

+0

의 목적은'어떤 객체 info' 년대 아이디어를 얻을 테스트? – duncan

답변

0

정보창은 클릭 이벤트 리스너에서만 생성하기 때문에 클릭시 열립니다. 클릭 창 핸들러에서 정보창을 만드는 코드를 창로드 이벤트 핸들러로 옮깁니다.

+0

예. 그렇지만 마지막으로 생성 된 클러스터 크기 (마지막으로 생성 된 클러스터의 마커 수로 충분하지 않습니다) 만 표시됩니다. – user198003

+0

코드를 좀 더 살펴볼 필요가 있다고 생각합니다. – duncan

0

이렇게하려면 InfoWindows 개체를 만들어 마커에 저장하십시오. 이

function CreateMarker(Lat, Lng, Title, Content) { 
    var aInfoWin = new google.maps.InfoWindow({ 
    content: Content, 
    position: new google.maps.LatLng(Lat,Lng) 
    }); 

    var aMarker = new StyledMarker({ 
    title: Title, 
    position: new google.maps.LatLng(Lat,Lng), 
    MyInfoWin: aInfoWin 
    }); 

    aMarker.MyInfoWin.open(); 
} 

같은 뭔가 당신은 다른 속성처럼 마커 당신이 좋아하는 정보창 (이벤트, 코드, .....)에 액세스 할 수 있습니다.

코드가 아닌 단지

안부

관련 문제