Google Maps

Gesperrt
Salech
Beiträge: 89
Registriert: So 5. Dez 2004, 11:00
Kontaktdaten:

Google Maps

Beitrag von Salech »

Hallo,

google hat ja jetzt auch Straßenkarten für Europa.
Hat schon jemand ein Modul entwickelt womit man "Google Maps" in Contenido integrieren kann?
Also ich meine Teile der API! :wink:
BlackFX
Beiträge: 21
Registriert: Sa 9. Jul 2005, 10:03
Kontaktdaten:

Beitrag von BlackFX »

Hi,

ich habe gestern ein Modul geschrieben, womit Du dir aus einer beliebigen Datenbank die Lat und Lon Werte ziehen, an Google Maps übergeben und eine Karte anzeigen lassen kannst. Falls es das ist was Du meinst.

Gruss
Salech
Beiträge: 89
Registriert: So 5. Dez 2004, 11:00
Kontaktdaten:

Beitrag von Salech »

Das ist ja schon mal was - cool!

Wenn Du mir/Uns noch sagen würdest wo man sich das anschauen oder downloaden kann wäre das echt mal ein Anfang.
BlackFX
Beiträge: 21
Registriert: Sa 9. Jul 2005, 10:03
Kontaktdaten:

Beitrag von BlackFX »

Alles klar. So bald mein Server wieder geht, "schläft gerade", poste ich das Modul.

Gruss
BlackFX
Beiträge: 21
Registriert: Sa 9. Jul 2005, 10:03
Kontaktdaten:

Beitrag von BlackFX »

Also das Modul selber sieht folgendermassen aus:

Code: Alles auswählen

<div id="map" style="width: 500px; height: 300px"></div>

<script type="text/javascript">
//<![CDATA[

var map = new GMap(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.addControl(new GScaleControl());
map.setCenter(new GLatLng(<?php echo $lat?>,<?php echo $lon ?>), 11, G_HYBRID_MAP);

// Creates a marker whose info window displays the given number
function createMarker(point, number)
{
var marker = new GMarker(point);
// Show this markers index in the info window when it is clicked
var html = number;
GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html);});
return marker;
};

//]]>
</script>
Ich lasse vorher in einem anderen Modul u.a. &id, &lat und &lon aus der Datenbank auslesen und mit der URL übergeben.

In den Header gehört noch der Eintrag für den Google Key:

Code: Alles auswählen

<script
src="http://maps.google.com/maps?file=api&v=2&key="hierkommtderkeyrein" type="text/javascript"></script>
Und das funktioniert ganz gut. Ist sicherlich noch verbesserungsfähig. Ich arbeite gerade noch an der Kontrolle und Eingabe der Daten um automatisch Lat und Lon von einer eingegebenen Adresse zu bekommen. Mal schauen.

Viel Spass und ich hoffe es hilft
BlackFX
Beiträge: 21
Registriert: Sa 9. Jul 2005, 10:03
Kontaktdaten:

Beitrag von BlackFX »

Um Latitude und Longitude zu bekommen von einem Ort mit normaler Eingabe benutze ich folgendes:

Code: Alles auswählen

<?php

function get_lat_long($q) {
 global $lat,$lon;
 $q = urlencode($q);
 $gm = fopen('http://maps.google.com/maps?q=' . str_replace('','+',$q) . '&output=js','r');
 $tmp = @fread($gm,30000);
 fclose($gm);
 $pos=strpos($tmp,"center");
 $wert=substr($tmp,$pos,40);
 $lat=substr($wert,14,9);
 $lon=substr($wert,29,9);
}

$q = 'NewYork City';
echo $q;
echo "<br>";
$tmp = get_lat_long($q);
echo "Lat: $lat";
echo "<br>";
echo "Lon: $lon";
?>
Hat den Vorteil man muss es nicht selber raussuchen.

Gruss
Salech
Beiträge: 89
Registriert: So 5. Dez 2004, 11:00
Kontaktdaten:

Beitrag von Salech »

WOW! Kann man sich das auch schon wo anschauen - hab grade leider nicht die Zeit das bei mir mal schnell einzubauen.
baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

Ich habe das gerade mit einem API in meine Webseite eingebunden und habe ein Info Window hinzugefügt. Problem ist nur, dass ich im Textblock keine Textumbruch hinbekomme. Habt Ihr da eine Idee?

Hier die Vorlage:
http://www.google.com/apis/maps/documen ... indow.html
fidelio
Beiträge: 24
Registriert: Fr 28. Jul 2006, 16:16
Kontaktdaten:

Beitrag von fidelio »

habs auch mit api gelöst. der fehlende umbruch lässt sich sicher irgendwie erzwingen wie textformatierung ... würde mich auch intressieren wie
Felicita
Beiträge: 42
Registriert: Fr 19. Aug 2005, 11:07
Kontaktdaten:

umbruch google map

Beitrag von Felicita »

du verwendest bereits folgendes:
marker.openInfoWindowHtml(html)

damit kann man HTML Inhalte darstellen


nun brauchst du in deiner Eingabe für den Textumbruch nur ein <br> zu schreiben,
links gehen auch
<a href="http://..">mein link</a>


hier noch ein codeschnipsel, (noch ohne contenido)


gibt mehrere Marker mit Beschreibung und URL aus, zeigt die navigation an (die pfeile) und das Umschalten von Hybrid und Satelit. (habe ich etwas vergrößert) - der Beispielort ist Strausberg

nun die Idee:
man könnte vielleicht eine Schleife in Contenido machen, wo man die Anzahl der Marker festlegt und dann nach klick so viele Eingabefelder bekommt, wie man Marker haben möchte.

und dann noch eine Eingabe für die Startposition.

vielleicht noch Felder vordefiniert für die Links, um nicht den a href Befehl zu schreiben, oder eine Ersetzenfunktion - die alle Zeichen mit www.ec.. in den a href Befehl wandelt

(dieses Script erfordert einen key von maps.google.com)
im head
<script src="http://maps.google.com/maps?file=api&v=2&key=deinKey"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(52.578958, 13.884487), 15);


//marker bei klick
function createMarker(point,html) {
var marker = new GMarker(point);
marker.html = html;
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(marker.html);
});
return marker;
}


var marker1 = createMarker(new GLatLng(52.580268, 13.880432),"Rathaus");
map.addOverlay(marker1);


var marker2 = createMarker(new GLatLng(52.578958, 13.884487),"Firma<br><a href='http://www.deineadressewasauchimmer.de'target='_blank'>Link</a>");
map.addOverlay(marker2);

}
}
//]]>
</script>


im body muss noch stehen:
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 1000px; height: 600px"></div>



hier noch ein Link:
http://www.phpinsider.com/php/code/GoogleMapAPI/

und der:
http://www.acme.com/javascript/#Clusterer
Gesperrt