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!