Using jquery with Google maps
Download jQuery 1.4.X or higher or use Googles or Microsofts CDN.
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> <script type="text/javascript" src="PATH_TO_MARKER_CLUSTERER_V_2.0.6/markerclusterer.js"></script> <script type="text/javascript" src="PATH_TO_PLUGIN/jquery.ui.map.js"></script>
// We need to bind the map with the "init" event otherwise bounds will be null $('#map_canvas').gmap({'zoom': 2, 'disableDefaultUI':true}).bind('init', function(evt, map) { var bounds = map.getBounds(); var southWest = bounds.getSouthWest(); var northEast = bounds.getNorthEast(); var lngSpan = northEast.lng() - southWest.lng(); var latSpan = northEast.lat() - southWest.lat(); for ( var i = 0; i < 1000; i++ ) { var lat = southWest.lat() + latSpan * Math.random(); var lng = southWest.lng() + lngSpan * Math.random(); $('#map_canvas').gmap('addMarker', { 'position': new google.maps.LatLng(lat, lng) }).click(function() { $('#map_canvas').gmap('openInfoWindow', { content : 'Hello world!' }, this); }); } $('#map_canvas').gmap('set', 'MarkerClusterer', new MarkerClusterer(map, $(this).gmap('get', 'markers'))); // To call methods in MarkerClusterer simply call // $('#map_canvas').gmap('get', 'MarkerClusterer').callingSomeMethod(); });
There are many ways of writing this snippet, please refer to the sample code section in the wiki.