map points ausgelagert, werden jedoch jetzt nicht mehr angezeigt

  • Hallo,
    ich habe versucht meine map points in eine Datei auszulagern, damit ich von verschiedenen Panoramen aus, auf eine allgemeingültige points xml zuzugreifen kann.
    Da ich alles über try end error zusammenschuster, kann es auch sein, dass ich prinzipiell noch woanders einen Fehler in meinen xml Dateien gemacht habe.

    Pronzipiell läuft das mit der map so ab:

    Die map kann über einen Button ein und ausgeblendet werden. (wie bei youtube von Bredenfeldt / Panoramabuch)

    ich binde in meine panorama xml

    Code
    <include url="skin/defaultskin.xml" />
    	<include url="map/bingmap.xml" />

    die Buttons (defaultskin.xml), sowie die map (bingmap.xml)ein.

    Soweit so gut.

    Wenn in der bingmap.xml die Spots enthalten sind, werden sie auch in der map angezeigt.

    Wenn ich jedoch die Spots auslagere, wie hier beschrieben:
    http://www.krpano.com/forum/wbb/inde…d&threadID=4827Gmaps points aus externen xml laden

    dann werden die Points nicht mehr angezeigt.
    Hier meine Einbindung:

    Meine spots.xml sieht so aus:

    Was könnte der Grund dafür sein?

    LG
    Volker

  • Hi,

    der Grund liegt daran das der <krpano> XML Knoten mit eingefügt wird,
    dadurch sieht die XML Struktur dann so aus:

    Code
    <plugin ...>
       <krpano>
     	<spot  .. />
     	<spot  .. />
     	...
      </krpano>
    </plugin>

    Das Plugin sucht aber nach <spot> Child-Knoten und findet diese deshalb nicht.

    Möglichkeiten die Spots auszulagern wäre:

    • diese in einer Action mittels 'addspot()' hinzuzufügen und diese Action in der anderen XML definieren
    • das Plugin Element in der anderen XML nochmal definieren aber diesmal mit Spots,
      z.b.
      xml1:

      Code
      <krpano ...>
        ...
        <plugin name="map" .....>
        </plugin>
        ...
      </krpano>

      xml2:

      Code
      <krpano>
        <plugin name="map">
      	<spot ... />
      	<spot ... />
      	..
        </plugin>
      </krpano>


    Schöne Grüße,
    Klaus

  • Danke Klaus, für die Hilfe!

    Ich habe aber noch etwas Probleme mit dem Verständnis.
    Bei meinen Programmierkenntnissen habe ich leichte Probleme der Umsetzung.

    Verstehe ich Deine zweiten Möglichkeit

    Quote

    das Plugin Element in der anderen XML nochmal definieren aber diesmal mit Spots,

    so richtig?

    Ich definiere in meinem bingmap Script bingmap.xml, die Map,

    Code
    <plugin name="bingmap" .....>
      </plugin>


    so, wie von Dir angegeben.

    Mit

    Code
    <include url="bingmapspots.xml" />


    binde ich die zweite xml mit den Spots ein,
    in der stehen dann die Spots, eingebunden als Plugin, mit dem selben Namen, wie vorher das Plugin für die Map.

    Code
    <plugin name="bingmap">
    	<spot1 ... />
    	<spot 2... />
    	..
      </plugin>


    Ist das mit include so richtig, oder habe ich das falsch verstanden?
    Dann setze ich das include in die xml, und nicht mehr in die definition der bingmap?
    Dadurch das beiden Plugin Namen gleich sind, führt der Player die beiden wie ein Plugin in einer xml aus, richtig?

    Mit der zweiten Variante, weiß ich gar nicht, wie ich das unsetzen sollte

    Code
    diese in einer Action mittels 'addspot()' hinzuzufügen und diese Action in der anderen XML definieren

    LG
    Volker

  • Hi,

    Bei meinen Programmierkenntnissen habe ich leichte Probleme der Umsetzung.

    Mit 'Programmierkenntnissen' an sich, hat das eigentlich weniger zu tun, das ist alles krpano-spezifisch, also geht es eher um 'krpano-kenntnisse' .


    Ist das mit include so richtig, oder habe ich das falsch verstanden?
    Dann setze ich das include in die xml, und nicht mehr in die definition der bingmap?
    Dadurch das beiden Plugin Namen gleich sind, führt der Player die beiden wie ein Plugin in einer xml aus, richtig?

    Ja - die XML Datei selbst ist im Prinzip nur eine Art 'Transport-Format' um die Werte zu setzen, zu speichern.
    Ob die einzelen Werte z.B. alle auf einmal:

    Code
    <plugin name="xxx" wert1="123" wert2="456" />


    oder nacheinander:

    Code
    <plugin name="xxx" wert1="123" />
    <plugin name="xxx" wert2="456" />


    gesetzt werden, kommt im Endeffekt auf das Gleiche.

    Wichtig ist nur das der Name es Elements immer der Gleiche ist, damit die Werte alle beim gleichen Objekt gespeichert werden.


    Mit der zweiten Variante, weiß ich gar nicht, wie ich das unsetzen sollte

    z.B.

    haupt-xml:

    Code
    <include url="add_spots_action.xml" />
    
    
    <plugin name="map" ... onmapready="add_spots_action();" />

    add_spots_action.xml.xml:

    Code
    <action name="add_spots_action">
      addspot(spot1, 10.1, 20.2, 0, false, loadscene(scene1,null,MERGE,BLEND(1));
      addspot(spot2, 10.2, 20.3, 0, false, loadscene(scene2,null,MERGE,BLEND(1));
      ...
    </action>

    Siehe hier die Dokumentation der addspot() Actions:
    https://krpano.com/plugins/bingmaps/#addspot

    Schöne Grüße,
    Klaus

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!