Помимо ответа Тони , в 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);