Hallo, ich muss für mein Studium ein Mashup Programmieren, was die API von Google Maps nutzt.
Für eine Funktion muss ich ein PopUp fenster aufmachen, wenn man auf eine bestimmte adresse klickt.
Jedoch, bekomme ich es nicht hin, die Adress Variable von der einen Datei an eine andere übergeben (beides im Javascript teil).
Hier mein Quellcode:
Zum testen auf meinem localen Webserver:
Index.php
<?php
$address2="Frankfurter Str, Marburg";//Hier Datenbankabfrage
?>
<html>
<head>
<title>Popup-Fenster mit JavaScript</title>
<script type="text/javascript">
function oeffnefenster (url) {
var address2 = "<?php echo $address2; ?>";
fenster = window.open(url, "fenster1", "width=550,height=350,status=yes,scrollbars=yes,resizable=yes");
fenster.focus();
}
</script>
</head>
<body>
<a href="javascript:oeffnefenster('api_popup.php?address=+address2');">Linktext</a>
</body>
</html>
api_popup.php
<?php
$_GET["address"];
echo $_GET["address"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Lerngruppen Mashup</title>
<script src=
"http://maps.google.com/maps?file=api&v=2&key=XxX"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var geocoder;
var map;
var address = "<?php echo $_GET["address"]; ?>";
//**********************************************************
// Beim Seiten laden, wird die Karte erstellt
function load()
{
if (GBrowserIsCompatible())
{
// Neues Map Objekt wird erzeugt
map = new GMap2(document.getElementById("map"));
// Neues Geocoding Objekt wird erstellt
geocoder = new GClientGeocoder();
// Marker werden bei den Lernorten gesetzt
geocoder.getLocations(address, addMarker);
// Einfügen der Navigations Option
var control = new GLargeMapControl();
map.addControl(control);
// Einfügen der Ansichtsänderungs Option
control = new GMapTypeControl();
map.addControl(control);
}
}
function addMarker(response)
{
if (GBrowserIsCompatible())
{
// Abfragung und zuweisung des Objektes
place = response.Placemark[0];
// Abfragung der Koordinaten
point = new GLatLng(place.Point.coordinates[1],
place.Point.coordinates[0]);
// Zentriert die Karte und Zoomt auf Level 10
map.setCenter(point, 10);
// Erstellt die Markierung
marker = new GMarker(point);
// Fügt die Markierung auf der Karte hinzu
map.addOverlay(marker);
// Fügt Adress Information auf der Karte hinzu
//marker.openInfoWindowHtml(place.address);
}
}
//]]>
</script>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 500px; height: 300px"></div>
</body>
</html>
Die Api Popup Datei funktioniert einwandfrei.
Der Fehler muss hier sein.
href="javascript:oeffnefenster('api_popup.php?address=+address2');">Linktext</a>
Wenn ich der Übergabe Variable address ein String direkt zuweise, geht es wunderbar. Jedoch kann ich keine Variablen übergeben.
Hoffe hier kann mir jemand helfen.
Danke.
Gruss Chris