Вызов infoWindow с API Google Map V3 - PullRequest
       1

Вызов infoWindow с API Google Map V3

1 голос
/ 03 апреля 2012

Я не могу открыть информационное окно при выборе многоугольника.Вот мой код:

// 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.Возможно ли это?

Ответы [ 2 ]

3 голосов
/ 03 апреля 2012

Попробуйте, используйте значение latlng, полученное от события click, чтобы создать маркер, и используйте его в качестве второго параметра в вызове 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 голосов
/ 03 апреля 2012

Насколько я пытался, полигон не может быть использован в качестве якоря для InfoWindow.Попробуйте добавить маркер где-нибудь внутри или на краю многоугольника, setVisible (false), а затем infowindow.open (карта, маркер)

Я не слишком ясно понял, когда вы сказали передать многоугольник.Я полагаю, что вы можете свободно использовать вашу переменную 'polyline', как для передачи ее функции (событию), вероятно, нет.Вы пробовали любой вариант?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...