хорошо здесь то, что я есть. Я использую Smarty для заполнения координат, вытащил из MySQL, Мое маленькое приложение привлекает более 300 полигонов на карту Великобритании за пределы графства. Мне удалось сделать это просто прекрасно, а также покрасить их, как я хочу. Теперь у меня есть проблема, я не могу получить информационные поля для показа.Google Maps API v3 не может получить информацию коробки, чтобы показать на динамически создаваемые многоугольники
Чуть подробнее, Причина в том, что counties_zone некоторая области есть острова, которые разбивают многоугольник делает беспорядок. поэтому мне пришлось их зонировать, чтобы правильно закрыть полигоны.
остальная часть моих умных переменных должна быть довольно понятной.
<script>
var map;
var infoWindow;
function initialize() {
var mapOptions={
zoom: 6,
center: new google.maps.LatLng(54.049976288319, - 2.8110410026615),
mapTypeId: google.maps.MapTypeId.TERRAIN
};
var map=new google.maps.Map(document.getElementById('googleMap'),
mapOptions);
var counties={
};
{foreach $counties as $county => $area}
{foreach $area as $zone => $coords}
counties["{$county}_{$zone}"]=new google.maps.Polygon({
paths: [
{foreach $coords as $coord}
new google.maps.LatLng({$coord.0}, {$coord.1}),
{/foreach}
],
strokeColor: "#0000ff",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#{$coord.2}",
fillOpacity: 0.6
});
counties["{$county}_{$zone}"].setMap(map);
infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(counties["{$county}_{$zone}"], 'click', showInfoCounty);
{/foreach}
{/foreach}
}
function showInfoCounty(event) {
var contentString="<b>County</b><br />";
contentString+="County name";
// thhis works.
console.log(contentString);
// this works
this.setOptions({ fillColor: "#000000" });
// this doesnt work.
// Replace our Info Window's content and position
infowindow.setContent(contentString);
infowindow.setPosition(event.latLng);
infowindow.open(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
Спасибо большое, я честно не думал, что все будет так просто! мне просто нужно расположить его сейчас, но это удовольствие от этого, я застрял в кругах! – Chris