Newer
Older
/**
* @file
* GMap Markers
* Gmaps Utility Library MarkerClusterer API version
*/
/*global Drupal, GMarker, MarkerClusterer */
// Replace to override marker creation
Drupal.gmap.factory.marker = function (opts) {
return new google.maps.Marker(opts);
};
Drupal.gmap.addHandler('gmap', function (elem) {
var obj = this;
obj.bind('init', function () {
// Set up the markermanager.
http://druler.com
committed
// Make sure the gridSize and maxZoom are intergers.
if (Drupal.settings.gmap_markermanager.gridSize){
Drupal.settings.gmap_markermanager.gridSize = parseInt(Drupal.settings.gmap_markermanager.gridSize);
}
if (Drupal.settings.gmap_markermanager.maxZoom){
Drupal.settings.gmap_markermanager.maxZoom = parseInt(Drupal.settings.gmap_markermanager.maxZoom);
}
obj.mc = new MarkerClusterer(obj.map, [], {
maxZoom: parseInt(Drupal.settings.gmap_markermanager["maxZoom"]),
gridSize: parseInt(Drupal.settings.gmap_markermanager["gridSize"])
});
});
obj.bind('addmarker', function (marker) {
// @@@ Would be really nice to have bulk adding support in gmap.
obj.mc.addMarkers([marker.marker]);
});
obj.bind('delmarker', function (marker) {
obj.mc.removeMarker(marker.marker);
});
obj.bind('clearmarkers', function () {
obj.mc.clearMarkers();
});
});