Chce zrobić by poprzez naciśnicie linku na stronie, wyswietliła mi się mapka generowana przez google maps.
Kod z pliku hotel_mapka.php generuje się i wyświetla porządany rezultat. Natomiast mam problem z wywołanie pliku hotel_mapka.php w połączeniu z ajaxem. Czy ktoś może powiedzieć gdzie tkwi błąd lub jakiś zgrzyt?
Kod głównej strony:
<?php <a href="#" onclick="loadArticle(4,'.$id_hotel.')" id="btn4">Mapka</a> <div id="dataDiv" class="dataDiv"> </div> ?>
ajaxcore2.js
function getXMLHttpRequestObject() { try{ return new XMLHttpRequest(); } catch(e){ try{ return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){ return false; } } } function startGETRequest(url, onComplete, onEnd) { var XMLHttpRequestObject = getXMLHttpRequestObject(); if(XMLHttpRequestObject){ XMLHttpRequestObject.open("GET", url); XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4){ if(XMLHttpRequestObject.status == 200){ var responseXML = XMLHttpRequestObject.responseXML; var responseText = XMLHttpRequestObject.responseText; onComplete(responseText, responseXML); } delete XMLHttpRequestObject; onEnd(); } } XMLHttpRequestObject.send(null); } } function startPOSTRequest(url, params, onComplete, onEnd) { var XMLHttpRequestObject = getXMLHttpRequestObject(); if(XMLHttpRequestObject){ XMLHttpRequestObject.open("POST", url); XMLHttpRequestObject.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded'); XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4){ if(XMLHttpRequestObject.status == 200){ var responseXML = XMLHttpRequestObject.responseXML; var responseText = XMLHttpRequestObject.responseText; onComplete(responseText, responseXML); } delete XMLHttpRequestObject; onEnd(); } } XMLHttpRequestObject.send(params); } } disableButtons = false; function loadArticle(id,id_hotel) { if(disableButtons) return; switch(id){ case 4 : url = "hotel_mapka.php?id_hotel="+id_hotel;break; default : return; } disableButtons = true; startGETRequest(url, onComplete, onEnd); } function onComplete(text, xml) { var dataDiv = document.getElementById('dataDiv'); dataDiv.innerHTML = text; } function onEnd(text, xml) { disableButtons = false; }
hotel_mapka.php
<html> <head> <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAArcTI4AUms-Ap0pzyv8VmiRRdludAuV2N6ZNTdeB76hcXJHnZNBQrzcKEIAzMpfYBL9pOLLzjcMznMQ" type="text/javascript"></script> <? include("baza.php"); $id_hotel=$_GET['id_hotel']; $adres=$wiersz['adres'].", ".$wiersz['miasto'].", PL"; ?> <script type="text/javascript"> var geodecoder = null; var map = null; var address; function load() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map")); geocoder = new GClientGeocoder(); showAddress(opis); map.setCenter(point, 16); } } function showAddress(address) { var map = new GMap2(document.getElementById("map")); if (geocoder) { geocoder.getLatLng( address, function(point) { if (!point) { alert(address + " not found"); } else { map.clearOverlays() map.setCenter(point, 15); var marker = new GMarker(point); map.addOverlay(marker); map.addControl(new GLargeMapControl()) var tabs = [new GInfoWindowTab("Adres", opis),new GInfoWindowTab("sze/dl geog", "szerokosc "+ point.lat().toFixed(5)+"<br> dlugosc "+point.lng().toFixed(5))]; marker.openInfoWindowTabsHtml(tabs); } } ); } } </script> <body onload="load()"> <table border="1"> <tr> <td><div id="map" style="width: 500px; height:400px"></div></td> </tr> </table>