Sorry, I've search high and low and can't seem to figure this one out. I have a map working fine, but I'm trying to add MarkerClusterer and markers aren't clustering. The locations in New Jersey should be in a cluster. Can anyone offer some hints?
This is my page: http://vbarbershop.com/location-finder/
I'm getting these javascript errors, which may be the cause? I'm somewhat unexperienced with Google Maps: Uncaught TypeError: undefined is not a function markerclusterer.js:660 Uncaught TypeError: undefined is not a function markerclusterer.js:660
This is my code:
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/src/markerclusterer.js" ></script>
<div id="mymap" style="width: 100%; height: 350px;"></div>
<script type="text/javascript">
var infos = [];
var locations = [
['Bellingham Bakerview Square', 'http://vbarbershop.com/locations/bellingham-bakerview-square/', 48.790003, -122.494667, 4],
['River Oaks Houston', 'http://vbarbershop.com/locations/river-oaks-houston/', 29.753660, -95.410269, 4],
['Winston-Salem', 'http://vbarbershop.com/locations/winston-salem/', 36.090435, -80.286798, 4],
['Cary', 'http://vbarbershop.com/locations/cary/', 35.739575, -78.778319, 4],
['Jersey City', 'http://vbarbershop.com/locations/jersey-city/', 40.721704, -74.036919, 4],
['Hoboken', 'http://vbarbershop.com/locations/hoboken/', 40.750605, -74.027217, 4],
];
var map = new google.maps.Map(document.getElementById('mymap'), {
zoom: 4,
center: new google.maps.LatLng(39.183608, -96.571669),
scrollwheel: false,
scaleControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var iconBase = 'http://vbarbershop.com/wp-content/themes/vbarbershop/library/images/';
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][2], locations[i][3]),
draggable: false,
icon: iconBase + 'ico-marker.png',
map: map
});
var content = '<a href="' + locations[i][1] + '" class="maplink">' + locations[i][0] + '</a>'
var infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker,'click', (function(marker,content,infowindow){
return function() {
/* close the previous info-window */
closeInfos();
infowindow.setContent(content);
infowindow.open(map,marker);
/* keep the handle, in order to close it on next click event */
infos[0]=infowindow;
};
})(marker,content,infowindow));
}
function closeInfos(){
if(infos.length > 0){
/* detach the info-window from the marker ... undocumented in the API docs */
infos[0].set('marker', null);
/* and close it */
infos[0].close();
/* blank the array */
infos.length = 0;
}
}
var markerCluster = new MarkerClusterer(map, locations);
</script>
Thank you!