2012-04-03 2 views
1

다각형을 선택할 때 InfoWindow를 열 수 없습니다. 여기 내 코드는 다음과 같습니다.infoWindow with Google Map V3 API

// Create Polygon 
var polyline = new google.maps.Polygon({path:path, strokeColor: "#FF0000", strokeOpacity: 1.0, strokeWeight: 2, clickable:false}); 

// Place Polygon on Map 
polyline.setMap(map); 
map.setCenter(new google.maps.LatLng(35.910200,-84.085100)); 

// Create InfoWindow object 
var infowindow = new google.maps.InfoWindow({ 
content: ' ', 
suppressMapPan:true 
}); 

// Create Click Event for Polygon 
eventPolygonClick = google.maps.event.addListener(polyline, 'click', function() { 

    // Load Content 
    infowindow.setContent("CLICKED me"); 
    // Open Window 
    infowindow.open(map, polyline); 

}); 

다각형과 해당 내용을 eventPolygonClick에 변수로 전달하고 싶습니다. 이것이 가능한가?

답변

3

이것을 시도해 보려면 click 이벤트에서받은 latlng를 사용하여 마커를 만들고이를 infowindow.open 호출의 두 번째 매개 변수로 사용하십시오.

eventPolygonClick = google.maps.event.addListener(polyline, 'click', function(event) { 
    var marker = new google.maps.Marker({ 
     position: event.latLng 
    }); 

    infowindow.setContent("CLICKED me"); 
    infowindow.open(map, marker); 

}); 
+0

정답입니다. Re : Heitor 's answer : 클릭 이벤트는 폴리 라인에 바인딩 될 수 있으며 통과 된 이벤트는 폴리 라인을 따라 어딘가 포인트가됩니다. 숨겨진 마커를 추가 할 필요가 없습니다. 폴리 라인의 내용을 사용할 수도 있지만 그 의미가 확실하지 않습니다. –

+0

감사합니다. @ javram. 나는 아직도 성공하지 못하고있다. http://cspc.net/neighborhoods/neighborhoods2.html에서 코드를 찾아 볼 수 있습니까? 위에서 말한대로 구현했지만 클릭하거나 오류가 게시 될 때 아무런 반응이 없습니다. – mcmonty

+0

폴리선이 클릭 가능으로 설정된 것 같습니다. false. 폴리 라인 옵션에서 클릭 가능한 속성을 완전히 제거해보십시오. – javram

0

제가 시도한 한, 다각형은 InfoWindow의 앵커로 사용할 수 없습니다. 폴리곤 가장자리 안쪽이나 가장자리에 마커를 추가해보십시오. setVisible (false), infowindow.open (map, marker)

폴리곤을 전달할 때 너무 명확하게 이해하지 못했습니다. 나는 당신이 변수 (폴리 라인)를 함수 (이벤트)와 함께 전달하는 것과 같이 자유롭게 사용할 수 있다고 생각합니다. 두 가지 옵션 중 하나를 시도 했습니까?