Google Map Maker extern verlinken
Micha89
- programmiertechnik
Guten Abend,
ich habe noch eine kleine Frage zur GoogleMap. Ich binde die wie folgt ein:
<script type="text/javascript">
//<![CDATA[
var map;
function load()
{
if (GBrowserIsCompatible())
{
map = new GMap2(document.getElementById("panel-map"));
geocoder = new GClientGeocoder();
map.setCenter(new GLatLng(50.936796,6.946106), 13);
showAddress('<?php print implode(', ', $adress); ?>');
}
}
function showAddress(address)
{
if (geocoder)
{
geocoder.getLatLng(
address
,function(point)
{
if (!point)
{
console.log(address + " not found");
}
else
{
map.setCenter(point, 13);
var marker = new GMarker(point);
map.addOverlay(marker);
marker.openInfoWindowHtml("http://www.giga.de");
}
}
);
}
}
window.addEvent('domready', load);
window.addEvent('unload', GUnload);
//]]>
</script>
das ganze klappt auch nur bei einem Punkt komme ich noch nicht weiter, ich habe das hier:
marker.openInfoWindowHtml("http://www.hamburg.de");
hier wollte ich erreichen dass wenn man drauf klickt also auf den Maker, dass dan eine externe URL aufgeht. Aber leider klappt das nicht. Hat einer eine Idee?
Gruß,
Micha
Hallo Micha89,
marker.openInfoWindowHtml("http://www.hamburg.de");
openInfoWindowHtml interpretiert den Parameter als innerHTML. Versuch mal
~~~php
marker.openInfoWindowHtml("<a href='http://www.hamburg.de'>Nach Hamburg</a>");
Gruß, Jürgen
Hall Jürgen,
vielen Dank für deine Nachricht, aber das was du mir geschrieben hast geht zwar aber ist nicht das was ich brauch :-) ich habe ja auf meiner Karte so ein Marker also ein Roter Punkt, dieser möchte ich direkt verlinken auf einen Externen Link.
So wie es jetzt ist, geht erst so ein weißer Kasten auf und darin ist der Link und das ist genau falsch.
Ich hoffe Ihr versteht was ich meine.
Gruß,
Micha
Hallo Micha89,
... ich habe ja auf meiner Karte so ein Marker also ein Roter Punkt, dieser möchte ich direkt verlinken auf einen Externen Link.
mit GEvent kannst du Elementen einen Eventhandler geben, versuch mal
punkt = map.addOverlay(marker);
GEvent.addListener(punkt, "click", function() {
alert("Jetzt gehts nach www.hamburg.de"); // nur zum Testen
window.location.href = "www.hamburg.de";
});
das habe ich jetzt nicht getestet.
Gruß, Jürgen
Hallo Jürgen,
danke dir für deine Antwort, hab es jetz mal so eingebaut:
<script type="text/javascript">
//<![CDATA[
var map;
function load()
{
if (GBrowserIsCompatible())
{
map = new GMap2(document.getElementById("panel-map"));
geocoder = new GClientGeocoder();
map.setCenter(new GLatLng(50.936796,6.946106), 13);
showAddress('<?php print implode(', ', $adress); ?>');
}
}
function showAddress(address)
{
if (geocoder)
{
geocoder.getLatLng(
address
,function(point)
{
if (!point)
{
console.log(address + " not found");
}
else
{
map.setCenter(point, 13);
var marker = new GMarker(point);
//map.addOverlay(marker);
//marker.openInfoWindowHtml("http://www.giga.de");
punkt = map.addOverlay(marker);
GEvent.addListener(punkt, "click", function() {
alert("Jetzt gehts nach www.hamburg.de"); // nur zum Testen
window.location.href = "www.hamburg.de";
});
}
}
);
}
}
window.addEvent('domready', load);
window.addEvent('unload', GUnload);
//]]>
</script>
aber leider geht das so nicht. Habe ich da ein Fehler beim einbauen?
Gruß,
Micha
Hallo Micha89,
punkt = map.addOverlay(marker);
GEvent.addListener(punkt, "click", function() {
alert("Jetzt gehts nach www.hamburg.de"); // nur zum Testen
window.location.href = "www.hamburg.de";
});
da hat mich mein Gedächtnis im Stich gelassen, es muss so gemacht werden:
map.addOverlay(marker);
GEvent.addListener(marker, "click", function() {
alert("Jetzt gehts nach www.hamburg.de"); // nur zum Testen
window.location.href = "www.hamburg.de";
});
der Eventhandler muss am Marker notiert werden.
Gruß, Jürgen
Hallo JürgenB,
Hallo Micha89,
punkt = map.addOverlay(marker);
GEvent.addListener(punkt, "click", function() {
alert("Jetzt gehts nach www.hamburg.de"); // nur zum Testen
window.location.href = "www.hamburg.de";
});da hat mich mein Gedächtnis im Stich gelassen, es muss so gemacht werden:
map.addOverlay(marker);
GEvent.addListener(marker, "click", function() {
alert("Jetzt gehts nach www.hamburg.de"); // nur zum Testen
window.location.href = "www.hamburg.de";
});
> der Eventhandler muss am Marker notiert werden.
>
> Gruß, Jürgen
>
Gruß, Jürgen
Liebe Moderatoren,
der letzte Beitrag kann gelöscht werden, es war ein Klick zu viel.
Gruß, Jürgen
Hallo Jürgen,
vielen vielen dank für deine Hilfe so hat es nun geklappt. Aber eine kleine Frage habe ich noch
GEvent.addListener(marker, "click", function() {
alert("Jetzt gehts nach www.hamburg.de"); // nur zum Testen
window.location.href = "www.hamburg.de";
});
kann man da auch das so machen, dass es ein neues Fenster aufgeht also target="_blank" ?
Gruß,
Micha
Hallo Micha89,
kann man da auch das so machen, dass es ein neues Fenster aufgeht also target="_blank" ?
so weit ich weiß, geht das nur über window.open, und das öffnet ein Popup-Fenster, also nicht wirklich der Brüller.
Gruß, Jürgen
Hi!
so weit ich weiß, geht das nur über window.open, und das öffnet ein Popup-Fenster, also nicht wirklich der Brüller.
Wo ist der Unterschied zwischen einem Fenster und einem PopUp-Fenster?
Hallo Steel,
Wo ist der Unterschied zwischen einem Fenster und einem PopUp-Fenster?
für mich ist ein Popup-Fenster etwas, was über window.open geöffnet wird, ein Fenster wird per Link und target-Attribut geöffnet, wobei hier oft auch nur ein neuer Tab geöffnet wird.
Kennst du denn eine Möglichkeit, per Javascript-onclick ein neues Fenster oder Tab zu öffnen, also target zu simulieren?
Gruß, Jürgen
Moin!
Wo ist der Unterschied zwischen einem Fenster und einem PopUp-Fenster?
für mich ist ein Popup-Fenster etwas, was über window.open geöffnet wird, ein Fenster wird per Link und target-Attribut geöffnet, wobei hier oft auch nur ein neuer Tab geöffnet wird.
Kennst du denn eine Möglichkeit, per Javascript-onclick ein neues Fenster oder Tab zu öffnen, also target zu simulieren?
Ich verstehe immer noch nicht. Wo ist der Unterschied zwischen einem mit window.open() und einem per Target-Attribut geoeffnetem Fenster? Nur weil Du ersteres als PopUp bezeichnest, ist doch das Fenster trotzdem identisch. Lediglich die Einschraenkung durch JS spielt hier eine Rolle. window.open() funktioniert halt nicht ohne JS bzw. man muss es lokal erstmal erlauben. Wenn es zu einem Ergebnis kommt, ist dieses aber doch identisch.
<a href="res1.html" target="lewindow">LINK</a>
<a onclick="window.open('res2.html', 'lewindow')">LINK</a>
In Bezug auf sich oeffnende Fenster sind beide Codes identisch. (JS vorrausgesetzt) Beide oeffnen ein Fenster mit dem Namen 'lewindow' bzw. laden eine Ressource in eben dieses. (jedenfalls mit den Browsern die ich so zur Verfuegung habe)
Hallo Steel,
ich benutze auf meinen Seiten keine Popups und beim Surfen unterdrücke ich sie. Daher weiß ich jetzt nicht, welche Unterschiede in Aussehen und Bedienung zwischen "normalen" und Popup-Fenstern bestehen. Der wesentliche Unterschied ist aber: sie können geblockt werden.
Gruß, Jürgen
Hallo Steel,
ich benutze auf meinen Seiten keine Popups und beim Surfen unterdrücke ich sie. Daher weiß ich jetzt nicht, welche Unterschiede in Aussehen und Bedienung zwischen "normalen" und Popup-Fenstern bestehen. Der wesentliche Unterschied ist aber: sie können geblockt werden.
Ja. Indem man JS ausschaltet. Ein PopupBlocker analysiert, soweit ich weiß, gewöhnlich Code und unterbindet/entfernt solchen, der ohne Userintaraktion Fenster öffnet. Jetzt sind diese Dinger ja teilweise auch konfigurierbar. Gut. Wenn ein User jetzt einfach generell das öffnen von Fenstern per JS unterbindet oder halt JS abschaltet, ist das nichts anderes als bei allen JS-Funktionen. Der User muß damit leben, daß einige Dinge nicht funktionieren, oder der Programmierer muß damit leben, daß die Seite von einigen Usern gemieden wird, wenn er keine Fallbacks einbaut.
Ein per window.open() erstelltes Fenster ist aber erstmal das gleiche wie ein per target erstelltes Fenster - Ausser dass es, je nach Browser, auch noch modifiziert werden kann.