Karte mit Ebenen aus 'Meine Karten'

Es ist möglich, eine über 'Meine Karten' vordefinierte Ebenenliste für das zu erzeugende Kartenbild zu verwenden. Dazu wird die Id des unter 'Meine Karten' gespeicherten Projektes benötigt.

Nachfolgend werden alle Ebenen einer eigenen Karte für die Erstellung des Kartenbildes verwendet:

<xsl:template name="renderMap">

  <xsl:variable name="MapParameter">
    <iXRH:RenderMap imageHeight="250"
                    imageWidth="250"
                    epsgCode="25833"
                    drawSelection="false"
                    imageSizeLargestEdge="600">
      <iXRH:BBox epsgCode="25833"
        xmin="389035.370"
        ymin="5645076.841"
        xmax="441927.706"
        ymax="5674279.242"/>
    </iXRH:RenderMap>
  </xsl:variable>

  <img alt="Kartenbild" style="width:{msxsl:node-set($MapParameter)/iXRH:RenderMap/@imageWidth * (96 div 80)}px;
      height:{msxsl:node-set($MapParameter)/iXRH:RenderMap/@imageHeight * (96 div 80)}px;">
    <xsl:attribute name="src">
      <!--Ebenenliste aus 'Meine Karten' ersetzt die Liste aus 'RenderMap' komplett-->
      <xsl:value-of select="cardoExtension:CreateMapImage(
          cardoExtension:MapModifyLayerList($MapParameter, cardoExtension:GetLayerListFromMyMap(4))
      )"/>
    </xsl:attribute>
  </img>
</xsl:template>
In obigem Beispiel wird die 'Eigene Karte' mit der Id 4 verwendet.
 
Sollen neben den Ebenen aus 'Meine Karten' weitere Ebenen mit angezeigt werden, kann die Kartenparameterstruktur auch direkt manipuliert werden:
<xsl:template name="renderMap2">

  <xsl:variable name="MapParameter">
    <iXRH:RenderMap imageHeight="250"
                    imageWidth="250"
                    epsgCode="25833"
                    drawSelection="false"
                    imageSizeLargestEdge="600">
      <iXRH:BBox epsgCode="25833"
        xmin="389035.370"
        ymin="5645076.841"
        xmax="441927.706"
        ymax="5674279.242"/>

      <!--Ebenenliste aus 'Meine Karten' wird am Anfang eingefügt-->
      <xsl:for-each select="cardoExtension:GetLayerListFromMyMap(4)">
        <iXRH:Layer layerName="{.}" />
      </xsl:for-each>

      <!--hier können weitere Ebenen folgen-->
      <iXRH:Layer layerName="L2" />
    </iXRH:RenderMap>
  </xsl:variable>

  <img alt="Kartenbild" style="width:{msxsl:node-set($MapParameter)/iXRH:RenderMap/@imageWidth * (96 div 80)}px;
      height:{msxsl:node-set($MapParameter)/iXRH:RenderMap/@imageHeight * (96 div 80)}px;">
    <xsl:attribute name="src">
      <xsl:value-of select="cardoExtension:CreateMapImage($MapParameter)"/>
    </xsl:attribute>
  </img>
</xsl:template>