Ehe, en fait le problème c’est surtout que c’est un mélange de PHP et JS… je suis pas mal paumé aussi, je vais essayer d’expliquer comme je l’ai compris (j’ai utilisé ce snippet il y a 6 mois…)
Déjà ce snippet se base sur l’API de Google Maps, donc si tu es motivé,
http://code.google.com/intl/fr-FR/apis/maps/documentation/javascript/v2/overlays.html ne fera pas de mal.
La ligne 262 du snippet sert à initialiser la création des markers (cf.
API Google Maps). En l’état initial du snippet, nous avons
function createMarker(point,name,html) { qui créé le marker, avec des coordonnées, un nom ainsi qu’un contenu.
Pour ajouter le support d’icones personnalisées et de leurs ombres, il faut modifier cette ligne en
function createMarker(point,name,html,iconurl,iconshadow) {. Cette fois donc nous avons les coordonnées, le nom, le contenu, l’image « icone » ainsi que l’ombre.
Ensuite il va falloir configurer ces nouvelles informations. Pour se faire on ajoute entre la ligne 262 et 263.
var icon = new GIcon();
icon.image = iconurl;
icon.shadow = iconshadow;
icon.iconSize = new GSize(30, 50);
icon.shadowSize = new GSize(80, 50);
icon.iconAnchor = new GPoint(15, 50);
icon.infoWindowAnchor = new GPoint(20, 15);
Pour en finir avec cette partie on modifie la ligne suivante (anciennement ligne 263) en
var marker = new GMarker(point,icon);';
Pour essayer de faire un résumé plus clair, voici la portion changée avec quelques commentaires
// a function to create the marker and set up the event window
function createMarker(point,name,html,iconurl,iconshadow) { // ligne 262 dans le snippet original
// on créé nos icones personnalisées
var icon = new GIcon();
icon.image = iconurl;
icon.shadow = iconshadow;
icon.iconSize = new GSize(30, 50); // taille de notre image-icone
icon.shadowSize = new GSize(80, 50); // taille de notre image-ombre
icon.iconAnchor = new GPoint(15, 50); // coordonnées de l'image-icone (relative)
icon.infoWindowAnchor = new GPoint(20, 15); // coordonnées de l'image-ombre (relative)
var marker = new GMarker(point,icon);'; // ligne 263 dans le snippet original
if($openMouseClickMarker) {
Enfin, pour pouvoir définir les valeurs de « function createMarker(point,name,html,iconurl,iconshadow) » dans le manager, il faut modifier la ligne 306 dans le snippet original en
$script .= $modx->runSnippet($dittoName,array('depth' => $descendentDepth, 'sortBy' => $sortBy, 'sortDir' => $sortDir, 'summarize' => 'all', 'displayArchive' => '0', 'tpl' => '@CODE:var point = new GLatLng([+description+]); var marker = createMarker(point, \'[+title:slashandstrip+]\', \'[+content:slashandstrip+]\', \'[+iconurl:slashandstrip+]\', \'[+shadowurl:slashandstrip+]\'); map.addOverlay(marker);', 'parents' => $startID, 'showPublishedOnly' => '0'));
Tu fera facilement le rapprochement entre
var marker = createMarker(point, \'[+title:slashandstrip+]\', \'[+content:slashandstrip+]\', \'[+iconurl:slashandstrip+]\', \'[+shadowurl:slashandstrip+]\');
et
function createMarker(point,name,html,iconurl,iconshadow)
C’est donc dans cette portion que tu pourra définir les TVs que tu souhaites utiliser pour donner des valeurs à name,html,iconurl et iconshadow.
Voilà, j’espère avoir été aussi clair qu’un non développeur puisse l’être

Normalement, tu devrais pouvoir tâtonner plus facilement. N’hésites pas à me corriger si j’ai omis des informations…
Bon courage again