-
Notifications
You must be signed in to change notification settings - Fork 0
ES—Renderizar
los menús opcionales, por ejemplo:
<!-- ajout cricri enlève balisages -->
<renderingProperty attr="balisage" name="cacher balisages" description="cacher balisages" type="boolean" possibleValues="" category="hide"/>
o "marcado" debe llamarse cada vez que desee que se oculten los siguientes elementos
<!-- balisages pedestre -->
<switch balisage="false" >
`<case minzoom="12" tag="network_iwn" value="" color="#ffddaa" shadowColor="#99ffddaa" strokeWidth="0.1:1" />
este "interruptor" aparecerá en el menú "ocultar" de las opciones de estilo.
entonces la definición de
que se puede reutilizar a voluntad para reemplazar un valor siempre que coloque $ antes de_su_nombre,
por ejemplo el color de los caminos
<renderingAttribute name="trackColor">
<case attrColorValue="#996600"/>
</renderingAttribute>
cada vez que queramos usar esta variable (aquí un color hexadecimal RGB) pondremos $trackcolor en lugar de #RGB
<!-- carrossable -->
<switch >
<case additional="surface=pebblestone" />
<case additional="smoothness=very_bad" />
<case additional="tracktype=grade3" />
<apply minzoom="12" color_5="$trackColor" >
el interés es solo tener que modificar la variable para que se actualice en todo el resto del estilo.
define el contenido del bloque "Tipo de carretera" en los "Detalles" del cálculo de la ruta
ADVERTENCIA puede fallar iOS con attrStringValue
diferente de los que se usan de forma predeterminada (los detalles vendrán después de la prueba)
<case tag="highway" value="track" attrColorValue="$trackColor" attrStringValue="highway_class_track"/><!-- traduit Piste-->
<case tag="highway" value="path" attrColorValue="#ff0000" attrStringValue="highway_class_path"/><!-- traduit chemin-->
<case tag="highway" value="pedestrian" attrColorValue="#ff0000" attrStringValue="highway_class_path"/>
<case tag="highway" value="footway" attrColorValue="#ff0000" attrStringValue="highway_class_path"/>
<case tag="highway" value="bridleway" attrColorValue="#ff0000" attrStringValue="highway_class_bridleway"/>
<case tag="highway" value="steps" attrColorValue="#ff0000" attrStringValue="highway_class_steps"/>
<case tag="highway" value="cycleway" attrColorValue="#ff0000" attrStringValue="highway_class_cycleway"/>
</renderingAttribute>
define el contenido del bloque "Dureza de la superficie" en los "Detalles" del cálculo de la ruta
sin limitaciones, puedes organizarlo/nombrarlo como quieras
<renderingAttribute name="routeInfo_tracktype"> <!-- dureté de la surface-->
<case tag="highway" value="service" attrColorValue="$trackColor" attrStringValue="carrossable"/>
<case additional="tracktype=grade1" attrColorValue="$trackColor" attrStringValue="carrossable"/>
<case additional="tracktype=grade2" attrColorValue="$trackColor" attrStringValue="carrossable"/>
<case additional="tracktype=grade3" attrColorValue="$trackColor" attrStringValue="carrossable grossier"/>
<case additional="tracktype=grade4" attrColorValue="$trackColor_2" attrStringValue="carrossable selon météo"/>
<case additional="tracktype=grade5" attrColorValue="$trackColor_2" attrStringValue="sol nu"/>
<case tag="highway" value="track" attrColorValue="$trackColor_2" attrStringValue="chemin non précisé"/>
<case tag="highway" value="path" attrColorValue="#ff0000" attrStringValue="sentier"/>
<case tag="highway" value="footway" attrColorValue="#ff0000" attrStringValue="sentier"/>
<case tag="highway" value="bridleway" attrColorValue="#ff0000" attrStringValue="cavalier"/>
<case tag="highway" value="steps" attrColorValue="#ff0000" attrStringValue="escalier"/>
<case tag="highway" value="cycleway" attrColorValue="#ff0000" attrStringValue="piste cyclable"/>
los elementos que no estén en este párrafo no se mostrarán (utilice comodines o definiciones vacías =""
)
el valor varía de 1 a 200, siendo 1 el más bajo en la pila cuando se muestra (primero los polígonos, segundo las líneas y luego los puntos)
si no ve un elemento que sabe que existe en OpenStreetMap, primero verifique si OsmAnd lo incluye en el mapa buscándolo con su etiqueta osm en este [archivo](https://github.com/osmandapp / OsmAnd-resources/blob/master/obf_creation/rendering_types.xml)
si lo encontraste y no No veo, mira en este capítulo "orden" de tu estilo si está bien tratado en alguna parte...
puede "hacer trampa" (para probar por ejemplo) agregando antes del final del capítulo this que hará aparecer cualquier elemento
<etiqueta de caso="" valor=""/>
hay algunas sutilezas como obtener (o no) un punto de un polígono
convertir polígono a línea (sin relleno)
aquí los polígonos de los parques nacionales sin rellenar porque ya están llenos por el atributo "reserva natural" que permite la transparencia
su contorno convertido en "línea" será utilizable en el renderizado y para recuperar el texto que se mostrará a través del punto creado
<case tag="boundary" value="national_park" order="2" ignorePolygonArea="true"/>
<case tag="boundary" value="protected_area" order="1" ignorePolygonArea="true"/>
vea mis comentarios en el archivo para el "texto en la ruta"
todo lo relacionado con los textos mostrados en el estilo, independientemente del elemento
ADVERTENCIA el orden está invertido en comparación con el párrafo "orden", cuanto menor sea el número, más prioridad tendrá el texto en la pantalla
incluso puede, dependiendo de los parámetros, mantenerse por encima de los demás y ocultarlos
No he logrado entender realmente el impacto de estos parámetros intersectionMargin intersecciónSizeFactor intersectsWith
textMinDistance le permite administrar la cantidad de texto del mismo tipo que se muestra (a lo largo de un río, por ejemplo), cuanto más pequeño es (¿en píxeles?), más texto se muestra
aquí es donde se administran los íconos a lo largo de las marcas, por ejemplo, o las referencias de ruta
por ejemplo los iconos de rutas de mountain bike
<!-- MTB icon -->
<switch lessDetailed="false" balisage="false" minzoom="14" textOnPath="false" textSize="0" textOrder="169" >
<case tag="route_mtb" value="" nameTag="name"/>
<case tag="route_mtb" value="" />
<apply icon="osmc_blue_bicycle" textShield="osmc_blue_circle_bg">
<case maxzoom="14" intersectionMargin="60" textMinDistance="450"/>
<case minzoom="15" intersectionMargin="30" textMinDistance="300"/>
</apply>
<apply_if nightMode="true" icon="osmc_blue_bicycle" textShield="osmc_blue_circle_bg" textMinDistance="130"/>
</switch>
con configuraciones que administran la cantidad de símbolos que se muestran (textMinDistance e intersecciónMargin que repele o suprime otro texto cercano)
aquí 2 configuraciones dependiendo del zoom para la cantidad de símbolos que se muestran (estas configuraciones requieren muchas pruebas en diferentes resoluciones de dispositivos para ser satisfactorias)
donde cada icono permite en las últimas versiones de OsmAnd cargar la ruta (aquí MTB) como track con la info asociada
ADVERTENCIA el orden se invierte en comparación con el párrafo "orden", cuanto menor es el número, más prioridad tiene el punto (el icono) en la pantalla
iconVisibleSize no parece funcionar
aquí es donde elige entre los íconos impuestos por OsmAnd y disponibles aquí
nada especial si has gestionado bien tu "orden" (polígono en línea o punto en el centro del polígono)
aquí el "agua" sale a la superficie
<!-- water -->
<switch color="#7ad1ed">
<switch>
<case minzoom="1" tag="natural" value="coastline"/>
<case minzoom="10" tag="natural" value="water"/>
<case minzoom="10" tag="landuse" value="reservoir"/>
<case minzoom="10" tag="landuse" value="salt_pond"/>
<case minzoom="12" tag="waterway" value="riverbank"/>
<case minzoom="14" tag="landuse" value="basin"/>
<apply color_2="#90c0ff" strokeWidth_2="1:1"/>
</switch>
"color" es el color de relleno
"color_2" es el color del contorno al que debes asociar obligatoriamente un "strokeWidth_2" para definir su grosor
ATENCIÓN no use "color_0" como relleno (heredado de shader), el polígono será invisible en OpenGL.
nada especial si ha gestionado bien su "pedido" (polígono en línea)
cada línea puede tener además de los atributos "color" un atributo "shadowColor" que es el borde (práctico para rutas pero con ciertos defectos, como un orden que no sigue el de la línea)
cada línea puede tener varios atributos de "color" (color, color_0, color_1, etc.) es necesario definir cada vez su "ancho de trazo" según el mismo principio de numeración, que permite definir una línea varias veces, como en el caso de los puentes por ejemplo donde "color" es el color de la carretera y "color_1" el color de la carretera cuando se trata de un puente.
los colores se superponen entre sí según su índice (0 debajo de 1 debajo de 2, etc.)
hay muchas limitaciones relacionadas con el motor de renderizado (openGL en iOS, java en Android) a la definición de periféricos y niveles de zoom, a veces es bastante complejo obtener el renderizado deseado y hay que "hacer trampa".
Some instructions on:
Quelques instructions sur :
Algunas instrucciones sobre:
- la renderizar
- la enrutamiento