При разработке этого решения я узнал, что API V2 устарел.С тех пор я начал работу над версией, использующей API V3.Эта незавершенная работа может быть найдена в Моя Новая Карта .Выражаем особую благодарность Дэвиду Марленду (David Marland) по адресу Hammerspace за ускорение этого преобразования для меня.
У меня осталось 3 оставшихся вопроса ... первый из которых я расскажу в этом посте.
Я не могу вызвать определенные мной информационные окна:
google.maps.event.addListener(polyline, 'click', function(event) {
if (polyline.Contains(event.latLng)) {
infowindowInside.open(map,polyline);
} else {
infowindowOutside.open(map,polyline);
}
});
Я прикрепляю их к многоугольнику, а не к маркеру.На полигоне написано:
var path = [
new google.maps.LatLng(35.950079, -84.104977),
new google.maps.LatLng(35.950774, -84.049702),
new google.maps.LatLng(35.946883, -84.047813),
new google.maps.LatLng(35.945354, -84.045067),
new google.maps.LatLng(35.940907, -84.042149),
new google.maps.LatLng(35.930483, -84.037857),
new google.maps.LatLng(35.939656, -84.037857),
new google.maps.LatLng(35.928120, -84.076309),
new google.maps.LatLng(35.938822, -84.066868),
new google.maps.LatLng(35.950079, -84.104977)];
var polyline = new google.maps.Polygon({path:path, strokeColor: "#FF0000", strokeOpacity: 1.0, strokeWeight: 2, clickable:false});
polyline.setMap(map);
Я ценю любые рекомендации, которые вы можете дать.
Спасибо.
** ОБНОВЛЕНО *****
Теперь я изменил код так:
google.maps.event.addListener(polyline, 'click', function(event) {
if (polyline.ContainsLocation(event.latLng, polyline)) {
window.alert('inside');//infowindowInside.open(map,polyline);
} else {
window.alert('outside');//infowindowOutside.open(map,polyline);
}
});
Однако ... до сих пор нет триггера.