Witam!
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
echo'<script type="text/javascript" src="ajaxcore2.js"></script>'; <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'];
$query = mysql_query ("SELECT * FROM hotel WHERE id='$id_hotel'"); $adres=$wiersz['adres'].", ".$wiersz['miasto'].", PL";
?>
<script type="text/javascript">
var opis =
<?php echo '"'.$adres.'"'; ?>;
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>