<div> Wert teilen und in PHP ausgeben

E

Ec16

Hallo,

ich will mal wieder hier nerven. :)

Habe kaum Ahnung von JavaScripten oder der gleichen.
Aus diesem Grund habe ich mir vor einigen Monaten mal was basteln lassen hier im Forum für wenig Geld.
Jetzt möchte ich dieses Script aber ein wenig umbauen und besser in das Formular einbauen.

Läuft auch ganz gut nur nervt es mich jetzt immer die Daten von <div id="formatedAddress"></div> zu kopieren und in das Formular einzutragen. Jetzt möchte ich das so machen das die Lat/Lng Daten direkt in die beiden Formularfelder eingetragen werden. Problem ist nur, wie bekomme ich zwei Werte? Derzeit gibt er mir da ja beide Werte Lat/Lng zusammen aus.

Kann mir dabei jemand helfen?

Funktioniert hier auch explode?

*ganzliebfrag*
 
Zuletzt bearbeitet von einem Moderator:
Ich finde im obigen Code keine Formularfelder. Aber abgesehen davon solltest du es in etwa so lösen können:

Javascript:
function getCenterLatLngText() {
// --------------------------------------------------
// die nächsten beiden Zeilen sind neu
	document.getElementById('lat').value = map.getCenter().lat();
	document.getElementById('lng').value = map.getCenter().lng();
// --------------------------------------------------
	return 'Latitude= ' + map.getCenter().lat() +'   Longitude= '+ map.getCenter().lng() +' ';
}

Um die Werte anzuzeigen, musst du zwei Textfelder haben welche die ID "lat" und "lng" haben. In diesen Textfeldern werden dann die Werte angezeigt.
 
Da ich mich in dem Code nicht wirklich auskenne, kann ich nur durch testen die Stelle(n) finden wo die Änderungen hingehören. Sicher bin ich mir aber dabei nicht.

Hiermit scheint es aber zu gehen:
Javascript:
function reverseGeocodeResult(results, status) {
	currentReverseGeocodeResponse = results;
	if(status == 'OK') {
		if(results.length == 0) {
			document.getElementById('formatedAddress').innerHTML = 'None';
		} else {
			document.getElementById('formatedAddress').innerHTML = results[0].formatted_address;
// ---------------------------------------------------
// Neu
			addresse_detail = results[0].formatted_address.split(",");
			for (a = 0; a < addresse_detail.length; a++) {
				document.getElementById("ad" + a).value = addresse_detail[a];
			}
// ---------------------------------------------------
		}
	} else {
		document.getElementById('formatedAddress').innerHTML = 'Fehler bzw. Unbekannt';
	}
}

So wie ich das sehe besteht die Addresse aus maximal 4 Teilen. Deshalb musst du 4 Textfelder mit den IDs "ad0" bis "ad3" erstellen.
 
Deshalb werden die Textfelder entsprechend der Anzahl Einträge im Array gefüllt.

Kannst du mir genauer sagen wann es wieviele Felder gibt und wie es dann genau aussieht? Dann könnte man die Werte genauer auf die Textfelder verteilen.
 
Also wenn man diese Beispiele von hinten nach vorne vergleicht:

Pos. 4: das Land
Pos. 3: der Ort und eventuell die Postleitzahl
Pos. 2: die Strasse bzw. eine genaue "Ortsbeschreibung" die wohl zur Strasse gehört
Pos. 1: wenn es 4 Werte gibt steht hier die Strasse

Position 4 und 3 sind immer eindeutig und die Positionen 2 und 1 würde ich zusammen in ein Feld schreiben.

Für die obigen Beispiele würde das folgendes Ergebnis liefern:

LandPlz - OrtStrasse und event. Zusatz
Vereinigtes KönigreichSouth Yorkshire S5 8RJSheffield - 3 Barrie Crescent
Deutschland37696 MarienmünsterL755
Deutschland19205 PokrentMeierei Pokrent 4
Dänemark8881 ThorsøTubækvej 9
KanadaQuébecMont-Valin
USANebraska 69351Lakeside - Nebraska 250
USAColorado 80212Lake Side Shopping Center - 5801 West 44th Avenue

Ich kenne mich jetzt mit dem Aufbau von ausländischen Addressen nicht so aus. Deshalb kann es auch sein das der Zusatz nicht zur Strasse sondern zum Ort gehört, das könnte mann dann aber auch recht einfach lösen.
 
Zurück