1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| var map = null;
var infowindow;
var markers=new Array();
$("ul.ListAddress li div").live("click", function() {
/* change la class du point selectionné et supprime la class des autres */
$(this).parents("ul.ListAddress").find("li").removeClass("selected");
$(this).parent("li").addClass("selected");
var obj = jQuery.parseJSON($(this).parent().find("span.ShopDetails").text());
/* cherche l\'id du marker */
var markersID = $(this).parent().attr("id").split("_");
map.panTo(new google.maps.LatLng(obj.coordGeolocalisationLatitude, obj.coordGeolocalisationLongitude));
google.maps.event.trigger(markers[markersID[1]], "click");
});
function initialize(address) {
var myOptions = {
zoom: 6,
center: new google.maps.LatLng(46.97534599999999, 1.7681250000000546),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
/* Creation de la map */
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
/* recupere les valeurs de toutes les adresses*/
var ShopValues = $("ul.ListAddress span[class='ShopDetails']").map(function(){return $(this).text();}).get();
/* place les points sur la carte de chaques adresses*/
$.each(ShopValues, function(index, value) {
/* decode les valeurs */
setPointRelais(map, jQuery.parseJSON(value));
});
/* permet de fermer les markers lors d'un click sur la carte */
google.maps.event.addListener(map, 'click', function() {
if (infowindow) infowindow.close();
});
}
function setPointRelais(map, jsonPointRelais){
var image = new google.maps.MarkerImage('inc.common/mtfw.shop/styles/img/shop_locator_logo_thumb.png', new google.maps.Size(29, 29), new google.maps.Point(0,0));
var shape = { coord: [1, 1, 1, 37, 32, 37, 32 , 1], type: 'poly'};
var myLatLng = new google.maps.LatLng(jsonPointRelais.coordGeolocalisationLatitude, jsonPointRelais.coordGeolocalisationLongitude);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
icon: image,
flat: false,
animation: google.maps.Animation.DROP,
shape: shape,
title: jsonPointRelais.nom,
});
/*Envoi le contenu en fonction de la valeur de actif*/
if (jsonPointRelais.actif == 0){
var contenuInfoBulle = 'blablabla';
}
else{
var contenuInfoBulle = 'blablabla';
}
google.maps.event.addListener(marker, 'click', function() {
if (infowindow) infowindow.close();
infowindow = new InfoBubble({content: contenuInfoBulle});
infowindow.open(map, marker);
});
marker.setMap(map);
markers.push(marker);
} |
Partager