II.2. RenderThemeAPI
II.2.1. Introduction
Un thème de rendu est un fichier XML qui contient les
règles et instructions de rendu. Ces fichiers peuvent être
utilisés pour personnaliser le style visuel de la carte rendue. La
bibliothèque Mapsforge-carte est livrée avec un fichier
intégré rendre thème similaire à la
Osmarender de
style. Plus de rendre thèmes internes seront ajoutées
à l'avenir. Externes des fichiers de rendu thème sont
également pris en charge et peuvent être activés via
le MapView.setRenderTheme (Fichier) méthode lors de
l'exécution.Voici un exemple de rendu-thème simple avec quelques
règles différentes et instructions de rendu:
<? xml
renderTheme.xsd " Version = "1"
>
<! - correspond à tous les moyens d'une
"highway = trunk" ou un "highway = autoroute" tag ->
<règle e = "chemin" k = "autoroute" v = " tronc | autoroute "
> <ligne AVC = "# FF9900" stroke-width=
"2.5" /> </ rule>
<! -
correspond à tous des moyens fermées (premier noeud est
égale à la dernière station) avec un "équipement =
..." tag correspond à tous les noeuds avec une étiquette
"tourisme = hôtel" du niveau de zoom 16 ans et plus
Syntaxe et la
sémantique des fichiers de rendu thème sont similaires mais pas
identiques à
osmarender
fichiers de règles . Une description formelle rendre
thème existe en tant que document de schéma XML , il
peut être trouvé dans le
référentiel . Si
un thème rendre invalide est soumis à la bibliothèque de
la carte, une org.xml.sax.SAXException sera lancée au cours de
l'analyse XML.
II.2.2.
Règles
Un élément de règle a plusieurs attributs
afin de spécifier les éléments de la carte correspond
à la règle.
Attribut
|
Les valeurs valides
|
Description
|
Requis
|
e
|
· Noeud
· manière
· tout
|
Définit le type de carte élément sera
comparé.
|
oui
|
k
|
chaîne
|
La clé de la balise OpenStreetMap.
· Une barre verticale "|" peut être utilisé
pour spécifier plusieurs clés.
· Un astérisque " * "sert de
caractère générique.
|
oui
|
v
|
chaîne
|
La valeur de la balise OpenStreetMap.
· Une barre verticale "|" peut être utilisé
pour spécifier plusieurs clés.
· Un astérisque " * "sert de
caractère générique.
· Un tilde «~» correspond si
l'élément de la carte n'a pas une étiquette avec la
clé spécifiée.
|
oui
|
fermé
|
· Oui
· aucun
· tout
|
Définit les moyens seront jumelés. Une
façon est considéré comme fermé si son premier
noeud et son dernier noeud sont égaux.
|
non (valeur par défaut est tout )
|
zoom-min
|
unsignedByte
|
Le niveau de zoom minimum sur lequel la règle sera
égalé.
|
non (0 par défaut)
|
zoom-max
|
unsignedByte
|
Le niveau de zoom maximal sur lequel la règle sera
égalé.
|
non (valeur par défaut est 127)
|
Les règles peuvent être imbriquées
à n'importe quel niveau de profondeur. Ceci peut être
utilisé pour définir des instructions de rendu qui
dépendent de plusieurs règles. Il peut également
être utilisé pour structurer les déclarations complexes et
d'éviter la redondance:
<rule e = "way" k = "*" v = "*" closed = "no" >
<rule e = "way" k = "highway" v = "motorway" >
<rule e = "way" k = "tunnel" v = "true|yes" >
...
</rule> <rule e = "way" k = "tunnel" v
= "~|no|false" > ...
</rule>
</rule> </rule>
|