Estoy intentando cargar un jQuery con diferentes funciones. Se trata de poner un mapa de google maps, y que cargue unos puntos que tengo en una BBDD. El problema es que me carga el mapa pero no me dibuja los puntos. Las funciones de geolocalización y buscar una dirección funcionan pero la de cargar los puntos no. ¿Alguna solución?
Código HTML:
$(document).ready(function(){ //<![CDATA[ var customIcons = { restaurant: { icon: 'http://labs.google.com/ridefinder/images/mm_20_blue.png', shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png' }, bar: { icon: 'http://labs.google.com/ridefinder/images/mm_20_red.png', shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png' } }; var map = new GMaps({ div: '#google-map', center: new google.maps.LatLng(41.3856319139933, 2.1687202000000525), zoom: 13, mapTypeId: 'roadmap', }); var infoWindow = new google.maps.InfoWindow; // Change this depending on the name of your PHP file downloadUrl("../php/phpsqlajax_genxml.php", function(data) { var xml = data.responseXML; var markers = xml.documentElement.getElementsByTagName("marker"); for (var i = 0; i < markers.length; i++) { var name = markers[i].getAttribute("name"); var address = markers[i].getAttribute("address"); var type = markers[i].getAttribute("type"); var point = new google.maps.LatLng( parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); var html = "<b>" + name + "</b> <br/>" + address; var icon = customIcons[type] || {}; var marker = new google.maps.Marker({ map: map, position: point, icon: icon.icon, shadow: icon.shadow, }); bindInfoWindow(marker, map, infoWindow, html); } }); function bindInfoWindow(marker, map, infoWindow, html) { google.maps.event.addListener(marker, 'click', function() { infoWindow.setContent(html); infoWindow.open(map, marker); }); } function downloadUrl(url, callback) { var request = window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest; request.onreadystatechange = function() { if (request.readyState == 4) { request.onreadystatechange = doNothing; callback(request, request.status); } }; request.open('GET', url, true); request.send(null); } function doNothing() {} $('#geocoding_form').submit(function(e){ e.preventDefault(); GMaps.geocode({ address: $('#address').val().trim(), callback: function(results, status){ if(status=='OK'){ var latlng = results[0].geometry.location; map.setCenter(latlng.lat(), latlng.lng()); map.addMarker({ lat: latlng.lat(), lng: latlng.lng() }); } } }); }); $('#geoposition_form').submit(function(e){ e.preventDefault(); GMaps.geolocate({ success: function(position){ map.setCenter(position.coords.latitude, position.coords.longitude); map.addMarker({ lat: position.coords.latitude, lng: position.coords.longitude, title: 'Usted está aquí', icon: '../img/youarehere26.png', infoWindow: { content: 'Usted está aquí' } }); }, error: function(error){ alert('La Geolocalización falló: '+error.message); }, not_supported: function(){ alert("Tu navegador no soporta geolocalización"); } }); }); });