Что такое openInfoWindowHtml и GPolygon в картах Google V3 - PullRequest
4 голосов
/ 16 июля 2010
   var polygon = new GPolygon(polylines[0],"#FFFFFF", 1, 1.0, color,opacity);

  polygon.hid = this.id;
  polygon.heat = this.heat;

   google.maps.event.addListener(polygon, 'click', function(point) {

    HoodsUnselect(active_hood_id);
    active_hood_id = polygon.hid;
polygon.setOptions({fillColor: '#2948e4', fillOpacity: 0.50 });
  //polygon.setFillStyle( { color:'#2948e4',opacity:'0.50' } );

    if (point) {
      map.openInfoWindowHtml(point, the_list);  // open info window where user clicked

    } else {
       map.openInfoWindowHtml(polygon.getBounds().getCenter(), the_list);  // open info window at the center of polygon
    }
  });

Ответы [ 2 ]

15 голосов
/ 16 июля 2010

Помимо ответа Тони , в API v3 отсутствует метод openInfoWindowHtml().Вам необходимо создать объект InfoWindow, для которого вы можете вызывать методы open() или close().Обычно вам нужен только один InfoWindow объект, если вам нужен только один видимый одновременно:

var infoWindow = new google.maps.InfoWindow();

google.maps.event.addListener(yourOverlay, 'click', function () {
   infoWindow.setContent('Some info on yourOverlay');
   infoWindow.open(map);
});

Основное различие между API v2 и API v3, когда дело касается Info Windows, заключается вчто в API v3 вы можете одновременно открыть более одного информационного окна.Это было невозможно в v2 API.Чтобы открыть несколько информационных окон, вам нужно создать несколько InfoWindow объектов, а не только один для всех маркеров (оверлеев).

Что касается многоугольников, то это как создать многоугольник вAPI v3 (заимствовано из примера , упомянутого @ Tony ):

var bermudaTriangle = new google.maps.Polygon({
  paths: [
    new google.maps.LatLng(25.774252, -80.190262),
    new google.maps.LatLng(18.466465, -66.118292),
    new google.maps.LatLng(32.321384, -64.75737)
  ],
  strokeColor: "#FF0000",
  strokeOpacity: 0.8,
  strokeWeight: 3,
  fillColor: "#FF0000",
  fillOpacity: 0.35
});

bermudaTriangle.setMap(map);
2 голосов
/ 16 июля 2010

GP3 в эквиваленте v3 равен Polyline , а GPolygon равен Polygon .У обоих из них есть события щелчков, которые вы можете прослушивать.

Более того, Google предоставляет Примеры полилиний и Примеры полигонов , включая , который прослушивает щелчкии открывает информационное окно .

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