Buenas, foreros. Estoy desarrollando un listado de hoteles en Buenos Aires que muestre los resultados en un mapa. Son unos 200 hoteles. Tengo el listado en un XML.
Todo funciona aparentemente bien, pero cada vez que cargo el mapa me muestra resultados difrenentes: a veces encuentra una dirección, a veces no.
Este es el script que estoy utilizando:
Código Javascript
:
Ver original<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAvs3puZxv_vmSbRPOvcGWFxSnL-NKnSKL33Aw_xTNevEzng2XdhRzzI10B3ozr2UW5WQHkJzpdKxIWw"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var iconHotel = new GIcon();
iconHotel.image = '../img/mapa/icono.png';
iconHotel.iconSize = new GSize(24, 24);
iconHotel.iconAnchor = new GPoint(18, 12);
iconHotel.infoWindowAnchor = new GPoint(5, 1);
var encontrados = 0;
var noEncontrados = 0;
var customIcons = [];
customIcons["hotel"] = iconHotel;
var geocoder = new GClientGeocoder();
function mostrarPunto(map, address, id, name, tel){
var notFound = document.getElementById('notfound');
var found = document.getElementById('found');
var cantNotFound = document.getElementById('cantNoEncontrados');
var cantFound = document.getElementById('cantEncontrados');
geocoder.getLatLng(address,function(point) {
if (point){
found.innerHTML = found.innerHTML + address +'<br />';
encontrados++;
cantFound.innerHTML = encontrados;
var marker = new GMarker(point, customIcons['hotel']);
var html = "<b><a href=\"../hoteles.php?id="+id+"\">" + name +"</a>" + "</b> <br/>" + address + "<br />Tel: " + tel;
map.addOverlay(marker);
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html);
});
} else {
notFound.innerHTML = notFound.innerHTML + address +'<br />';
noEncontrados++;
cantNotFound.innerHTML = noEncontrados;
}
}
);
}
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(-34.6091719,-58.4101935),10);
GDownloadUrl("phpsqlajax_genxml.php", function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
//for (var i = 0; i < 20; i++) {
var id = markers[i].getAttribute("id");
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
var tel = markers[i].getAttribute("tel");
mostrarPunto(map, address,id,name,tel);
}
});
}
}
//]]>
</script>
<div id="map" style="width: 1000px; height: 700px"></div>
¿Alguna idea? ¡Gracias!