Files
vapemap/app/stores/static/js/gmap.js

54 lines
1.7 KiB
JavaScript

var store_icon = static_url + 'img/map_icons/home-2.png'
var online_icon = static_url + 'img/map_icons/wifi.png'
var geolocation_icon = static_url + 'img/map_icons/home-2-green.png'
function lookup_marker(id) {
if (id == null || id == 1) {
return store_icon
} else if (id == 2) {
return online_icon
} else if (id == 999) {
return geolocation_icon
} else {
return store_icon
}
}
function initialize_map(marker_data, element) {
var mapOptions = {
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(element, mapOptions);
var bounds = new google.maps.LatLngBounds();
var markers = [];
for (var i = 0; i < marker_data.length; i++) {
var marker = marker_data[i];
if (marker[1] != null && marker[2] != null) {
var latlng = new google.maps.LatLng(marker[1], marker[2]);
bounds.extend(latlng);
var marker_obj = new google.maps.Marker({
position: latlng,
title: marker[0],
icon: lookup_marker(marker[3])
});
if (marker[4] != '') {
google.maps.event.addListener(marker_obj, 'click', (function(marker) {
return function() {
window.location = marker[4];
}
})(marker));
}
markers.push(marker_obj)
}
}
if (markers.length >= 100) {
var markerCluster = new MarkerClusterer(map, markers);
} else {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(map);
}
}
map.fitBounds(bounds)
}