Forum Doku Wiki Blog

Forumsarchiv 2008, August
Variable aus XML übernehmen (GoogleMap)

archivierte Beiträge lesen

  1. (JAVASCRIPT) Variable aus XML übernehmen (GoogleMap) von Rainer, 21. 08. 2008, 08:38

Variable aus XML übernehmen (GoogleMap)

Der folgende Beitrag wurde am 21. 08. 2008, 08:38 Uhr von Rainer veröffentlicht.

Hallo,

meine XML Datei:
<?xml version="1.0" encoding="utf-8"?>
<markers>
<marker lat="48.275293" lng="8.85432" text="TSG 1848 Balingen" bild="baseIcon" />
<marker lat="48.223111" lng="10.108097" text="SpVgg 1928 Au/Iller" bild="baseIcon2" />
</markers>

Der Ausschnitt aus dem Code:
// EIGENE MARKER
        var baseIcon = new GIcon();
        baseIcon.image = "GMap/green.gif";
        baseIcon.iconSize = new GSize(10, 10);
 baseIcon.iconAnchor = new GPoint(3, 8);

 var baseIcon2 = new GIcon();
        baseIcon2.image = "GMap/red.gif";
        baseIcon2.iconSize = new GSize(10, 10);
 baseIcon2.iconAnchor = new GPoint(3, 8);
//.......
for (var i = 0; i < markers.length; i++) {
var latlng = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                         parseFloat(markers[i].getAttribute("lng")));
var text = markers[i].getAttribute("text");
var bild = markers[i].getAttribute("bild");

 map.addOverlay(new GMarker(latlng, {icon:+"bild"}));
}

Ich lese die Daten aus der XML ein. Die Marker sind richtig positioniert. in "var bild" müsste nun baseIcon oder baseIcon2 stehen - aber es wird nicht das richtige Icon angezeigt, nur das Standardicon von Google. Ich vermute das die Schreibweise {icon:+"bild"} falsch ist. Gebe ich den icon direkt an ({icon:baseIcon} funktioniert es.
Wie muss es denn richtig geschrieben sein das "var bild" in {icon:??bild??} übernommen wird?

Gruß Rainer

Variable aus XML übernehmen (GoogleMap)

Der folgende Beitrag wurde am 21. 08. 2008, 08:42 Uhr von molily veröffentlicht.

Hallo,

> Wie muss es denn richtig geschrieben sein das "var bild" in {icon:??bild??} übernommen wird?

Vermutlich
{ icon : bild }

Das erzeugt ein Objekt mit einer Eigenschaft namens icon, diese hat einen Wert, der der Variable bild entnommen wird.

Mathias
--
SELFHTML aktuell Weblog

Variable aus XML übernehmen (GoogleMap)

Der folgende Beitrag wurde am 21. 08. 2008, 08:46 Uhr von Rainer veröffentlicht.

Hallo Matthias,

leider falsch vermutet. Hatte ich auch schon prbiert.

Gruß Rainer

Variable aus XML übernehmen (GoogleMap)

Der folgende Beitrag wurde am 21. 08. 2008, 09:15 Uhr von molily veröffentlicht.

Hallo,

> leider falsch vermutet. Hatte ich auch schon prbiert.

Dann sind deine Anforderungen andere, als ich annahm.
In der Variable bild steht entweder der String "baseIcon" oder der String "baseIcon2"? Und in der Icon-Eigenschaft soll letztlich der Wert der gleichnamigen Variablen stehen, also eines der beiden GIcon-Objekte?
Dann ist deine Frage eher, wie du von einem String mit einem Variablenname zum Wert dieser Variable kommst.

Dann solltest du baseIcon und baseIcon2 entweder an einem Objekt speichern, dann kannst du folgendes schreiben:

var marker = {};
marker.baseIcon = new GIcon();
...
marker.baseIcon2 = new GIcon();
...

var markerName = "baseIcon"; // oder halt baseIcon2 - analog zu deiner Variable bild
alert( "GIcon mit dem Namen " + markerName + ":\n" + marker[markerName] );

Also dann { icon : marker[markerName] }

Oder du arbeitest mit eval():

{ icon : eval(markerName) }

Dazu muss es sich um eine lokale Variable (in derselben Funktion) oder um eine globale Variable handeln. (Im letzteren Fall könnte man aber einfach window[markerName] schreiben, nach dem obigen Schema.)

Mathias
--
SELFHTML aktuell Weblog

Variable aus XML übernehmen (GoogleMap)

Der folgende Beitrag wurde am 21. 08. 2008, 09:26 Uhr von Rainer veröffentlicht.

Hallo Mathias,

eval war das Stichwort. Es ist ja ein String der aus der XML kommt ;-)

{icon : eval(bild)} funktioniert dann ohne weiteren zusätzlichen Code.

Gruß Rainer

Variable aus XML übernehmen (GoogleMap)

Der folgende Beitrag wurde am 21. 08. 2008, 09:09 Uhr von Struppi veröffentlicht.

> Wie muss es denn richtig geschrieben sein das "var bild" in {icon:??bild??} übernommen wird?

Ist denn in "bild" überhaupt der richtige Wert?

Struppi.

Variable aus XML übernehmen (GoogleMap)

Der folgende Beitrag wurde am 21. 08. 2008, 09:13 Uhr von Rainer veröffentlicht.

Hallo Struppi,
muss ja wohl so sein

XML:
<marker lat="48.275293" lng="8.85432" text="TSG 1848 Balingen" bild="baseIcon" />

JS:
var bild = markers[i].getAttribute("bild");

Oder was meinst du damit?

Gruß Rainer

Variable aus XML übernehmen (GoogleMap)

Der folgende Beitrag wurde am 21. 08. 2008, 09:30 Uhr von Struppi veröffentlicht.

> muss ja wohl so sein
>
> XML:
> <marker lat="48.275293" lng="8.85432" text="TSG 1848 Balingen" bild="baseIcon" />
>
> JS:
> var bild = markers[i].getAttribute("bild");
>
> Oder was meinst du damit?

Welchen Wert hat bild?

Struppi.

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4