Anzeige - [Interessiert an einer Anzeige?]
(?) Tags raten (?) api, google map (edit)
 
Reply to this topicStart new topicStart Poll
> Diskussion: Geocoding mit Google Map API (Koordinten zu Adressen)
Ayom-Team
Geschrieben am: Mi 16.04.2008, 08:18
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (aktiv)
Beiträge: 1
Mitglied seit: 17.11.2004


Diskussion zum Artikel Geocoding mit Google Map API (Koordinten zu Adressen) in der Kategorie Gimmicks

Mit der Google MAP API kann man mittels geocoding zu Adressen Koordinaten suchen.

Hier eine Beispielimplementierung, deren Ziel es ist aus einer Liste von Adressen in XML, jeweils die dazugehörigen Koordinaten zu hohlt...
Achtung! Es handelt sich hierbei nicht direkt um lauffähigen Code, sondern eine Beispielimplementierung. Mit etwas Javascript Wissen sollte man in nützlicher Frist zu einem Ergebnis kommen. XML Wissen ist grundlegend auch notwendig. Wenn kein RCP bzw. XML-RCP Wissen vorhanden ist, kann der XML-String direkt in die HTML Datei geschrieben werden, und das Resultat direkt aus dem HTML herauskopiert und gespeichert werden.

(um den Quelltext zu kopieren, klicken sie auf edit)

Das file.xml
CODE
<?xml version="1.0" encoding="ISO-8859-1"?>
<adresses>
<adress city="Signal Hill" state="CA"></adress>
<adress city="Simi Valley" state="CA"></adress>
</adresses>


Das file.html inkl. Javascript sieht so aus:
CODE

<html>

<head>
<script src="http://maps.google.com/maps?file=api&v=2&key={IHR GOOGLE API KEY}"
type="text/javascript"></script>
</head>
<body onload='loadd()'>
<pre id='res'></pre>
<div id='err'></div>
</body>
<SCRIPT language='javascript'>
var i=0;
var Alenght = 0;
var adresses = null;


function loadd()
{
loaded = true;
load();
readXml2('file.xml');
}
/**
* load markers.xml via urls */
function readXml2(url)
{
var request = GXmlHttp.create();
request.open("GET", url, true);
request.onreadystatechange = function()
{
if (request.readyState == 4)
{
var xmlDoc = request.responseXML;

adresses = xmlDoc.getElementsByTagName("adress");


for (var i = 0; i < adresses.length; i++)
{
var city = adresses[i].getAttribute("city");
var state = adresses[i].getAttribute("state");
getCoords(city, state);
}
}
}
request.send(null);
return true;
}


function getCoords(city, state)
{
geocoder.getLatLng(city+", "+state+", us", function(point)
{
if (!point)
{
document.getElementById('err').innerHTML += city+", "+state + " nicht gefunden. <br/>";
}
else
{
document.getElementById('res').innerHTML += "<adress city=""+city+"" state=""+state+"" x=""+point.x+"" y=""+point.y+""></adress>n";
}
});
}

</script>
</html>

Achtung Die Vorliegende Version hat sich nur mit Orten in den USA befasst, beachten Sie die Zeile:
CODE
geocoder.getLatLng(city+", "+state+", us", function(point)


Die Implementieren ist allerdings leicht anpassbar. Bei 5000 Orten hat Firefox nach >30min CPU time die Resultate ausgespuckt. Allerdings ist die Genauigkeit noch nicht perfekt und Adressen mit Strassengenauigkeit (z.B. Theresienweg, münchen, deutschland) sind nicht in allen Ländern möglich.

UPDATE: Bei dem endgültigen Implementierung war es notwendig die Adressen in 200er Päckchen zu zerlegen um die API nicht böse zu machen. Die Resultate hab ich ebenfalls an einen RCP geschickt der sie Serverseitig wieder gespeichert hat.


-------------------
Dieser Artikel steht unter der Creative Commons Lizenz.
Top
PMEmail Poster
Top
 
 
maffy
#2 Geschrieben am: Mi 16.04.2008, 08:18 (+00:00)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 2
Mitglied seit: 16.04.2008


Mich würde es interesieren, wie man das ganze in ein Anmelde Formular für eine Seite verwenden kann.
Um dann z.B. alle Mitglieder anzuzeigen, die im Umkreis des Heimatortes wohnen.

Mfg Maffy
Top
PMEmail Poster
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/24026

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Kickt google jetzt auch Blogs? PA 575 16 Di 8.07.2008, 19:09
Google vs. Yahoo woody 73 1 Di 8.07.2008, 13:00
Google Affiliate Network Remo Uherek 422 7 Mo 7.07.2008, 18:36
Diskussion: Wo gibt es gratis Schriften (fonts)? Ayom-Team 1894 9 Do 3.07.2008, 13:08
Diskussion: Gibt es AdSense-Alternativen? Ayom-Team 4780 32 So 29.06.2008, 20:54
Gesucht Double Opt In Email-Adressen JOTO 81 0 Di 24.06.2008, 10:04
Google AI... (fast) Ohne Worte Alain Aubert 183 1 Mo 23.06.2008, 22:35
Google-Trends - nun für Websites jAuer 434 4 So 22.06.2008, 21:48




Anzeige - [Interessiert an einer Anzeige?]



Anzeigen




cyon Webhosting



[Interessiert an einer Anzeige?]