GoogleMaps apiv3 События - addListener и addDomListener не работают одинаково? - PullRequest
2 голосов
/ 06 декабря 2011

У меня проблемы с попыткой добавить многоугольник на карту, щелкнув что-нибудь за пределами области карты, например, текстовая ссылка на той же странице, что и карта.

Я могу добавить многоугольник, нажав на карту с помощью метода addListener, но тот же код с addDomListener не работает. Интересно, кто-нибудь знает, как это сделать правильно?

Мой код, который не работает (я получаю тест оповещения, поэтому слушатель работает, но полигон не добавляется на карту):

google.maps.event.addDomListener(document.getElementById('thediv'), 'click',function (event){
    drawPolygon();
    alert("test");
});

Код, который работает, но не тот, который я хочу (нарисован многоугольник и получен тест оповещения):

google.maps.event.addListener(map, 'click',function (event){
    drawPolygon();
    alert("test");
});

и код drawPolygon, который работает:

function drawPolygon(){
var bermudaTriangle;
var triangleCoords = [
    new google.maps.LatLng(25.774252, -80.190262),
    new google.maps.LatLng(18.466465, -66.118292),
    new google.maps.LatLng(32.321384, -64.75737),
    new google.maps.LatLng(25.774252, -80.190262)
];

  bermudaTriangle = new google.maps.Polygon({
  paths: triangleCoords,
  strokeColor: "#FF0000",
  strokeOpacity: 0.8,
  strokeWeight: 2,
  fillColor: "#FF0000",
  fillOpacity: 0.35
});

bermudaTriangle.setMap(map);
}
...