Teilbereich einer Scriptangabe dynamisch ändern...

tomate

Erfahrenes Mitglied
Hallo zusammen,

ich würde mich freuen, wenn mir jemand zu folgendem Problem einen Hinweis geben könnte.

Im Headbereich habe ich folgendes stehen:

Code:
<script src="http://maps.google.de/maps?file=api&v=2&key=ABC" type="text/javascript"></script>

Nun möchte ich je nach Länderauswahl lediglich die Länderkennung (de) austauschen.
Sprich, wenn jemand für Österreich was sucht, soll dies mit maps.google.at/maps?file=...
durchgeführt werden.

Document.write und innerHTML habe ich probiert, funktioniert aber nicht.

Wie kann ich (ohne Reload der Seite!) per js nur das de gegen andere Länderkennungen
austauschen?

Viele Grüße und Danke, Tomate
 
Geht es so:

HTML:
<script language="javascript" type="text/javascript">
function land(wert) {
alert(wert);

if (wert == "de") {
	document.getElementById("link").src = "http://maps.google.de/maps?file=api&v=2&key=ABC";
} else if (wert == "at") {
	document.getElementById("link").src = "http://maps.google.at/maps?file=api&v=2&key=ABC";
}

}
</script>
<script id="link" src="http://maps.google.de/maps?file=api&v=2&key=ABC" type="text/javascript"></script>

<p></p>
<a href="javascript:land('de');">Deutschland</a>
<br />
<a href="javascript:land('at');">&Ouml;sterreich</a>
 
Du musst kein anderes Skript laden, um eine anderen Sprache zu benutzen oder in einem anderen Land etwas zu suchen.

Guck z.B. hier der "locale" Parameter http://code.google.com/apis/maps/documentation/javascript/v2/services.html#Directions

Edit: Das Problem mit tombe's Code ist, dass er dann zwar das andere Skript lädt, du aber nicht weißt, wann es fertig ist. Das heißt der Code, den du danach ausführst, verwendet eventuell noch das alte Skript oder es kann auch sein, dass während das neue lädt, keines von beiden verwendbar ist und dein Skript abstürzt.
 
Ich kenne deinen Code doch nicht... Dann nimm eben

setBaseCountryCode(countryCode:String)

Sets the geocoder to bias search results as if they were sent from the domain specified by the given country code top-level domain (ccTLD). Geocoding is only supported for those countries in which Google Maps itself supports geocoding. Most ccTLD codes are identical to ISO 3166-1 codes, with some notable exceptions. For example, Great Britain's ccTLD is "uk" (.co.uk) while its ISO 3166-1 code is "GB."

Note that the default domain is the domain from which you initially load the Maps API. Country codes are case insensitive.
http://code.google.com/apis/maps/do...rence.html#GClientGeocoder.setBaseCountryCode
 

Neue Beiträge

Zurück