K GoogleMapApi doplňku přidat MarkerClusterer
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- davez
- Člen | 60
Ahoj,
potřeboval bych, aby tento doplněk: https://componette.org/search/?… uměl pracovat s: http://google-maps-utility-library-v3.googlecode.com/…xamples.html
Neřešil to někdo také? Potřeboval bych to nějak propojit.
- iguana007
- Člen | 970
Já to řeším čistým Javascriptem bez addonu (ani jsem o něm nevěděl).
Tady je ukázka z mé latte šablony:
var infowindows = Array();
var markers = new Array();
var markersCluster = new Array();
{foreach $locations as $loc}
infowindows[{$loc->id}] = new google.maps.InfoWindow({
content: '<strong>' + {$loc->name} +'</strong>' + '<br>' + {$loc->adresa} {if !empty($loc->telefon)}+'<br>Tel.: ' + {$loc->telefon}{/if}{if !empty($loc->email)}+'<br>Email: ' + {$loc->email} {/if}{if !empty($loc->mobil)}+'<br>Mobil: ' + {$loc->mobil} {/if}{if !empty($loc->web)}+'<br>WWW: ' + '<a href="http://' + {$loc->web} +'" target="_blank">' + {$loc->web} +'</a>'{/if}
});
var latlng = new google.maps.LatLng({$loc->lat}, {$loc->lng});
markers[{$loc->id}] = new google.maps.Marker({
map: map,
draggable: false,
animation: google.maps.Animation.DROP,
position: latlng
});
markersCluster.push(markers[{$loc->id}]);
google.maps.event.addListener(markers[{$loc->id}], 'click', function (innerkey) {
return function () {
infowindows[{$loc->id}].open(map, markers[{$loc->id}]);
}
}({$loc->id}));
{/foreach}
var clusterOptions = {
imagePath: {$basePath} +'/img/gmapsclusterer/m'
};
new MarkerClusterer(map, markersCluster, clusterOptions);
Editoval iguana007 (9. 9. 2014 10:55)
- Oli
- Člen | 1215
@davez Zkus prosímtě GoogleMapAPI master. Předělal jsem kompletně API a fixnul nějaký bugy, ale hlavně implementoval ten markerClusterer. Ještě upravím readme (zatím to je psaný takovou neangličtinou a není tam všechno) a vydám novou verzi. Mohl bys to teda otestovat jestli ti to funguje jak má? Díky