Bueno, como veras no es nada del otro mundo el script, es muy parecido a la solución de la cual mande el enlace.
 
La parte que llama a al script es un simple select:    
La parte ajax es muy sencilla tambien:    
Código Javascript
:
Ver original- function jsDinamic(direccion,tipo){ 
-   var g=document.createElement("script"); 
-   g.src=direccion; 
-   g.type=tipo; 
-   document.body.appendChild(g); 
-   } 
-   
- function mostrarMapas(str) 
- { 
- var xmlhttp;     
- if (str=="") 
-   { 
-   document.getElementById(""cont-map").innerHTML=""; 
-   return; 
-   } 
- if (window.XMLHttpRequest) 
-   {// code for IE7+, Firefox, Chrome, Opera, Safari 
-   xmlhttp=new XMLHttpRequest(); 
-   } 
- else 
-   {// code for IE6, IE5 
-   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
-   } 
- xmlhttp.onreadystatechange=function() 
-   { 
-   if (xmlhttp.readyState==4 && xmlhttp.status==200) 
-     { 
-       jsDinamic("https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js","text/javascript"); 
-       jsDinamic("http://maps.google.com/maps/api/js?sensor=false&language=es","text/javascript");   
-       jsDinamic("http://midireccion/mapasdinamicos.js","text/javascript");  
-       document.getElementById("cont-map").innerHTML=xmlhttp.responseText; 
-     } 
-   } 
- xmlhttp.open("GET","mapa.php?ciudad="+str,true); 
- xmlhttp.send(); 
- } 
El archivo php simplemente carga de manera dinamica las listas tal y como lo viste en el enlace que te mostre y cambia en función de la ciudad. Simplemente se encarga de leer un xml, genera la lista y carga el div map-canvas que es donde se mostrara el mapa. 
Por ultimo el javascript que hace la "magia" que es casi igual a la solución que viste en la pagina.    
Código Javascript
:
Ver original- $(function() { 
-       //esto no importa que centro tenga porque al final en función de la ciudad cambia el centro, solo sirve para inicializar 
-       var chicago = new google.maps.LatLng(41.924832, -87.697456), 
-           pointToMoveTo,  
-           first = true, 
-           curMarker = new google.maps.Marker({}), 
-           $el; 
-        
-       var options = { 
-           zoom: 16, 
-           center: chicago, 
-           mapTypeId: google.maps.MapTypeId.ROADMAP 
-         }; 
-        
-       var map = new google.maps.Map($("#map_canvas")[0], options); 
-       var image = new google.maps.MarkerImage( 
-         'images/sprite.png'//aqui sospecho que es el error pero es una sospecha 
-         ); 
-         
-       $("#locations li").mouseenter(function() { 
-         $el = $(this); 
-         if (!$el.hasClass("hover")) { 
-          
-           $("#locations li").removeClass("hover"); 
-           $el.addClass("hover"); 
-          
-           if (!first) {  
-              
-             // Clear current marker 
-             curMarker.setMap();  
-                         
-             // Set zoom back to Chicago level 
-             // map.setZoom(10); 
-           } 
-            
-           // Move (pan) map to new location 
-           pointToMoveTo = new google.maps.LatLng($el.attr("data-geo-lat"), $el.attr("data-geo-long")); 
-           map.panTo(pointToMoveTo); 
-            
-           // Add new marker 
-           curMarker = new google.maps.Marker({ 
-               position: pointToMoveTo 
-                , title: $el.attr("data-marcador") 
-               ,map: map 
-               ,icon: image 
-            }); 
-            
-           // On click, zoom map 
-           google.maps.event.addListener(curMarker, 'click', function (e) { 
-              map.setZoom(14); 
-           }); 
-            
-           first = false;  
-         } 
-          
-       }); 
-        
-       $("#locations li:first").trigger("mouseenter"); 
-     }); 
Gracias por tu colaboración desinteresada. De funcionar funciona, de mostrar el marcador eso si no por eso pido una guia para revaluar la solución.