WinFuture-Forum.de: Google-maps -> Adresse Aus Datenbank (ohne Latlng) - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Google-maps -> Adresse Aus Datenbank (ohne Latlng)


#1 Mitglied ist offline   bluescorp 

  • Gruppe: aktive Mitglieder
  • Beiträge: 323
  • Beigetreten: 23. Oktober 04
  • Reputation: 0
  • Wohnort:nähe Wien

geschrieben 18. November 2009 - 11:16

Hi!

Ich sitze hier jetzt schon seit 2 Stunden und komme einfach nicht drauf :(

Ich habe eine Datenbank mit Straße, Hnr, PLZ, ort.
Die möchte ich abfragen und dann einfach mittels GoogleMaps anzeigen lassen.

Das sollte ja möglich sein mit dem geocoder:
CODE
function showAddress(address) {
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " not found");
} else {
map.setCenter(point, 13);
var marker = new GMarker(point);
map.addOverlay(marker);
marker.openInfoWindowHtml(address);
}
}
);
}
}


aber ich kapiers einfach nicht...

Eine statische Map ist kein Problem. Aber das Einbinden von den Adressen blicke ich nicht durch...

Hoffe ihr könnt mir da helfen

lg
0

Anzeige



#2 Mitglied ist offline   BeckxXx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 20
  • Beigetreten: 28. April 09
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 18. November 2009 - 11:32

Vielleicht hilft dir das weiter Link

Kannste dir ja mal angucken!
Es existiert ein Interesse an der generellen Rezension der Applikation relativ primitiver Methoden komplementär zur Favorisierung adäquater komplexer Algorithmen.
0

#3 Mitglied ist offline   bluescorp 

  • Gruppe: aktive Mitglieder
  • Beiträge: 323
  • Beigetreten: 23. Oktober 04
  • Reputation: 0
  • Wohnort:nähe Wien

geschrieben 18. November 2009 - 11:37

Danke für den Link. Ansich ja nicht schlecht, aber ich möchte mir eben ersparen, dass ich zu den ganzen Adressen die Long/Lati raussuchen muss.
0

#4 Mitglied ist offline   bluescorp 

  • Gruppe: aktive Mitglieder
  • Beiträge: 323
  • Beigetreten: 23. Oktober 04
  • Reputation: 0
  • Wohnort:nähe Wien

geschrieben 22. November 2009 - 22:54

noch irgendwer eine Idee oder Ansatz wie man das machen kann? :/
0

#5 Mitglied ist offline   aeris 

  • Gruppe: aktive Mitglieder
  • Beiträge: 129
  • Beigetreten: 06. September 08
  • Reputation: 12
  • Geschlecht:unbekannt

geschrieben 23. November 2009 - 16:08

Was genau geht denn nicht?
Hab deine Funktion eben ausprobiert, und sie funktioniert mit einer dynamischen Karte einwandfrei.

Fuer mehrere Marker empfiehlt Google uebrigens den Marker Manager.
0

#6 Mitglied ist offline   bluescorp 

  • Gruppe: aktive Mitglieder
  • Beiträge: 323
  • Beigetreten: 23. Oktober 04
  • Reputation: 0
  • Wohnort:nähe Wien

geschrieben 23. November 2009 - 22:42

kannst du mir da deinen Sourcecode schicken mit dem du das gestestet hast damit ich das mal vergleichen kann?

Bezüglich den Marker brauche ich immer nur einen.

Hab UserX und UserY und jeder hat eine Detail-Seite, und da soll halt eben auf GoogleMaps das dann angzeigt werden wo der zuhause ist.

lg

Dieser Beitrag wurde von bluescorp bearbeitet: 23. November 2009 - 22:43

0

#7 Mitglied ist offline   aeris 

  • Gruppe: aktive Mitglieder
  • Beiträge: 129
  • Beigetreten: 06. September 08
  • Reputation: 12
  • Geschlecht:unbekannt

geschrieben 23. November 2009 - 23:34

<html>
<head>
<script src="http://maps.google.com/maps?file=api&v=2&key=__APIKEY__&sensor=false" type="text/javascript">
</script>
<script type="text/javascript">
var map = null;
var geocoder = null;

function load()
{
	if (GBrowserIsCompatible())
	{
		map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(48.2092062, 16.3727778), 13);
		geocoder = new GClientGeocoder();
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
	}
}

function showAddress(address)
{
	if(geocoder)
	{
		geocoder.getLatLng(address,
			function(point)
			{
				if(!point)
				{
					alert(address + " not found");
				}
				else
				{
					map.setCenter(point, 13);
					var marker = new GMarker(point);
					map.addOverlay(marker);
					marker.openInfoWindowHtml(address);
				}
			}
		);
	}
}
</script>
</head>
<body onload="load()" onunload="GUnload()">
<form action="#" onsubmit="showAddress(this.address.value);return false">
<p><input type="text" size="60" name="address" value="Vienna, Austria" />
<input type="submit" value="Go!" /></p>
<div id="map" style="width:1000px; height: 600px"></div>
</form>
</body>
</html>

Hier wird mittels Formular ein Marker anhand eingegebener Addresse hinzugefuegt, allerdings ohne bereits vorhandene zu loeschen.
(Wie das loeschen funktioniert hab ich nicht geschaut, steht aber bestimmt in der Dokumentation.)
0

#8 Mitglied ist offline   bluescorp 

  • Gruppe: aktive Mitglieder
  • Beiträge: 323
  • Beigetreten: 23. Oktober 04
  • Reputation: 0
  • Wohnort:nähe Wien

geschrieben 23. November 2009 - 23:44

und gibt es da jetzt auch die Möglichkeit, dass man sich noch das Go erspart? Also, dass die Map gleich angezeigt wird mit der richtigen Adresse?

lg
0

#9 Mitglied ist offline   aeris 

  • Gruppe: aktive Mitglieder
  • Beiträge: 129
  • Beigetreten: 06. September 08
  • Reputation: 12
  • Geschlecht:unbekannt

geschrieben 23. November 2009 - 23:57

Entweder
<body onload="load();showAddress('Munich, Germany');" onunload="GUnload()">


oder die load Funktion ein wenig umgeschrieben:
<script type="text/javascript">
var map = null;
var geocoder = null;

function load()
{
	if (GBrowserIsCompatible())
	{
		var addr = "Munich, Germany";
		map = new GMap2(document.getElementById("map"));
		geocoder = new GClientGeocoder();
		geocoder.getLatLng(addr,
			function(point)
			{
				if(!point)
				{
					alert(address + " not found");
				}
				else
				{
					map.setCenter(point, 13);
					var marker = new GMarker(point);
					map.addOverlay(marker);
					marker.openInfoWindowHtml(address);
				}
			}
		);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
	}
}
</script>

Wobei beim 2ten die showAddress() komplett wegfaellt. Die Addresse ist in der Variablen "addr" gespeichert (Zeile 9)
0

#10 Mitglied ist offline   bluescorp 

  • Gruppe: aktive Mitglieder
  • Beiträge: 323
  • Beigetreten: 23. Oktober 04
  • Reputation: 0
  • Wohnort:nähe Wien

geschrieben 24. November 2009 - 09:23

Hey super! Vielen vielen Dank! Klappt nun endlich einwandfrei :smokin:

Weißt du noch wie ich das "Route berechnen" ins InfoWindow bekomme?

lg

Dieser Beitrag wurde von bluescorp bearbeitet: 24. November 2009 - 10:13

0

#11 Mitglied ist offline   aeris 

  • Gruppe: aktive Mitglieder
  • Beiträge: 129
  • Beigetreten: 06. September 08
  • Reputation: 12
  • Geschlecht:unbekannt

geschrieben 24. November 2009 - 10:55

Ich weisz zwar nicht was du mit "Route berechnen" meinst, aber den Text des InfoWindows setzt du beim Aufruf von marker.openInfoWindowHtml(address); fest.
Siehe Methoden von GMarker.
0

#12 Mitglied ist offline   bluescorp 

  • Gruppe: aktive Mitglieder
  • Beiträge: 323
  • Beigetreten: 23. Oktober 04
  • Reputation: 0
  • Wohnort:nähe Wien

geschrieben 24. November 2009 - 11:19

jebb, das ist mir schon klar. Ich meinte das so, dass man dann, wenn so ein Marker offen ist, es die Möglichkeit gibt, dass man seine Startadresse angibt und da dann die Route zum Marker berechnet wird.

lg
0

#13 Mitglied ist offline   aeris 

  • Gruppe: aktive Mitglieder
  • Beiträge: 129
  • Beigetreten: 06. September 08
  • Reputation: 12
  • Geschlecht:unbekannt

geschrieben 24. November 2009 - 12:28

Geht einfach mit Hilfe von GDirections

Beispiel:
<html>
<head>
<script src="http://maps.google.com/maps?file=api&v=2&key=__APIKEY__&sensor=false"
		type="text/javascript">
</script>
<script type="text/javascript">
var map = null;
var geocoder = null;
var addr = "Munich, Germany";
function load()
{
	if (GBrowserIsCompatible())
	{
		map = new GMap2(document.getElementById("map"));
		geocoder = new GClientGeocoder();
		geocoder.getLatLng(addr,
			function(point)
			{
				if(!point)
				{
					alert(address + " not found");
				}
				else
				{
					map.setCenter(point, 13);
					var marker = new GMarker(point);
					map.addOverlay(marker);
					marker.openInfoWindowHtml(address);
				}
			}
		);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
	}
}

function showRoute(startAddr)
{
	var gdir = new GDirections(map);
	map.clearOverlays();
	gdir.load("from: " + startAddr + " to: " + addr);
}
</script>
</head>
<body onload="load();" onunload="GUnload()">
<form action="#" onsubmit="showRoute(this.address.value);return false">
<p><input type="text" size="60" name="address" value="Vienna, Austria" />
<input type="submit" value="Go!" /></p>
<div id="map" style="width:1000px; height: 600px"></div>
</form>
</body>
</html>

0

#14 Mitglied ist offline   bluescorp 

  • Gruppe: aktive Mitglieder
  • Beiträge: 323
  • Beigetreten: 23. Oktober 04
  • Reputation: 0
  • Wohnort:nähe Wien

geschrieben 24. November 2009 - 14:31

Das heißt ich müsste den <form> Tag nur in die Variable für die Anzeige für openInfoWindow kopieren + die 2. Funktion einfügen?

Hab das jetzt probiert, aber dann wird die komplette Map wieder nicht angezeigt :smokin:

Genauso wenn ich einen <a> Link da rein machen will :wink:

lg
0

#15 Mitglied ist offline   aeris 

  • Gruppe: aktive Mitglieder
  • Beiträge: 129
  • Beigetreten: 06. September 08
  • Reputation: 12
  • Geschlecht:unbekannt

geschrieben 24. November 2009 - 14:58

Beitrag anzeigenZitat (bluescorp: 24.11.2009, 14:31)

Das heißt ich müsste den <form> Tag nur in die Variable für die Anzeige für openInfoWindow kopieren + die 2. Funktion einfügen?

Ja.

Beitrag anzeigenZitat (bluescorp: 24.11.2009, 14:31)

Hab das jetzt probiert, aber dann wird die komplette Map wieder nicht angezeigt :(

Genauso wenn ich einen <a> Link da rein machen will :(


Was sagt denn die ErrorConsole dazu?
Wuerde uebrigens ungemein helfen, deine Versuche zu sehen. Es ist schwer deine Fehler zu erraten =)

Form im InfoWindow:
marker.openInfoWindowHtml("Ausgangsort:\n\
										<form action=\"#\" onsubmit=\"showRoute(this.address.value);return false\">\n\
										<p><input type=\"text\" size=\"60\" name=\"address\" value=\"Vienna, Austria\" />\n\
										<input type=\"submit\" value=\"Go!\" /></p>\n\
										</form>");

0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0