implement basic car rendering

git-svn-id: https://osmand.googlecode.com/svn/trunk@709 e29c36b1-1cfa-d876-8d93-3434fc2bb7b8
This commit is contained in:
Victor Shcherb 2010-11-26 11:08:16 +00:00
parent f3c993d44a
commit 9b8ae07b4d
8 changed files with 491 additions and 48 deletions

View file

@ -0,0 +1,166 @@
<renderer name="car-night" depends="default-night" defaultColor="#090A25">
<!-- PRIORITY Input to filter : tag, value, zoom [minzoom, maxzoom], textLength, ref -->
<text>
<!-- Highway text -->
<filter minzoom="16" textSize="15" textOnPath="true" tag="highway" value="motorway" />
<filter minzoom="16" textSize="15" textOnPath="true" tag="highway" value="motorway_link" />
<switch>
<case tag="highway" value="trunk" />
<case tag="highway" value="trunk_link" />
<case tag="highway" value="primary" />
<case tag="highway" value="primary_link" />
<case tag="highway" value="secondary" />
<case tag="highway" value="secondary_link" />
<filter>
<filter minzoom="13" maxzoom="13" textSize="13" textOnPath="true" />
<filter minzoom="14" maxzoom="14" textSize="14" textOnPath="true" />
<filter minzoom="15" maxzoom="16" textSize="14" textOnPath="true" />
<filter minzoom="17" textSize="16" textOnPath="true" />
</filter>
</switch>
<switch>
<case tag="highway" value="tertiary" />
<case tag="highway" value="tertiary_link" />
<case tag="highway" value="residential" />
<case tag="highway" value="service" />
<case tag="highway" value="unclassified" />
<case tag="highway" value="road" />
<filter>
<filter minzoom="15" maxzoom="16" textSize="14" textOnPath="true" />
<filter minzoom="17" textSize="15" textOnPath="true" />
</filter>
</switch>
<filter minzoom="16" textSize="12" textOnPath="true">
<filter tag="highway" value="track" />
<filter tag="highway" value="path" />
<filter tag="highway" value="living_street" />
<filter tag="highway" value="pedestrian" />
<filter tag="highway" value="cycleway" />
<filter tag="highway" value="byway" />
<filter tag="highway" value="footway" />
<filter tag="highway" value="steps" />
<filter tag="highway" value="bridleway" />
<filter tag="highway" value="services" />
<filter tag="highway" value="ford" />
<filter tag="highway" value="construction" />
<filter tag="highway" value="proposed" />
</filter>
<filter minzoom="16" maxzoom="16" textSize="9" textColor="#444444" textWrapWidth="16" tag="building" />
<filter minzoom="17" maxzoom="17" textSize="11" textColor="#444444" textWrapWidth="16" tag="building" />
<filter minzoom="18" textSize="15" textColor="#444444" textWrapWidth="16" tag="building" />
<filter minzoom="6" maxzoom="8" textSize="8" textHaloRadius="1" textWrapWidth="20" tag="place" value="city" />
<filter minzoom="9" maxzoom="10" textSize="11" textHaloRadius="1" textWrapWidth="20" tag="place" value="city" />
<filter minzoom="11" textSize="14" textHaloRadius="1" textWrapWidth="20" tag="place" value="city" />
<filter minzoom="9" maxzoom="10" textSize="8" textHaloRadius="1" textWrapWidth="20" tag="place" value="town" />
<filter minzoom="11" maxzoom="13" textSize="11" textHaloRadius="1" textWrapWidth="20" tag="place" value="town" />
<filter minzoom="14" textSize="13" textColor="#777777" textHaloRadius="1" textWrapWidth="20" tag="place" value="town" />
<filter minzoom="12" maxzoom="14" textSize="9" textHaloRadius="1" tag="place" value="village" />
<filter minzoom="15" textSize="13" textColor="#777777" textHaloRadius="1" tag="place" value="village" />
<filter minzoom="12" maxzoom="14" textSize="9" textHaloRadius="1" tag="place" value="hamlet" />
<filter minzoom="15" textSize="13" textColor="#777777" textHaloRadius="1" tag="place" value="hamlet" />
<filter minzoom="12" maxzoom="13" textSize="10" textHaloRadius="1" tag="place" value="suburb" />
<filter minzoom="14" textSize="13" textColor="#777777" textHaloRadius="1" tag="place" value="suburb" />
<filter minzoom="14" maxzoom="15" textSize="8" textHaloRadius="1" tag="place" value="locality" />
<filter minzoom="16" textSize="13" textColor="#777777" textHaloRadius="1" tag="place" value="locality" />
<filter minzoom="10" textSize="9" textHaloRadius="1" tag="place" value="island" />
</text>
<line>
<switch>
<case tag="highway" value="motorway" color="#809bc0" />
<case tag="highway" value="motorway_link" color="#809bc0" />
<case tag="highway" value="trunk" color="#a8daa8" />
<case tag="highway" value="trunk_link" color="#a8daa8" />
<case tag="highway" value="primary" color="#eb989a"/>
<case tag="highway" value="primary_link" color="#eb989a"/>
<case tag="highway" value="secondary" color="#fdd6a4"/>
<case tag="highway" value="secondary_link" color="#fdd6a4"/>
<case tag="highway" value="tertiary" color="#fefeb3" shadowColor="#bababa" shadowRadius="1"/>
<case tag="highway" value="tertiary_link" color="#fefeb3" shadowColor="#bababa" shadowRadius="1"/>
<filter>
<switch>
<case layer="-1" pathEffect="4_4" />
<case /> <!-- all other cases -->
<filter>
<filter minzoom="13" maxzoom="14" strokeWidth="10" />
<filter minzoom="15" maxzoom="15" strokeWidth="12" />
<filter minzoom="16" maxzoom="16" strokeWidth="14" />
<filter minzoom="17" maxzoom="17" strokeWidth="16" />
<filter minzoom="18" strokeWidth="18" />
</filter>
</switch>
</filter>
</switch>
<switch>
<case tag="highway" value="motorway" color_2="#809bc0" />
<case tag="highway" value="motorway_link" color_2="#809bc0" />
<case tag="highway" value="trunk" color_2="#a8daa8" />
<case tag="highway" value="trunk_link" color_2="#a8daa8" />
<case tag="highway" value="primary" color_2="#eb989a"/>
<case tag="highway" value="primary_link" color_2="#eb989a"/>
<case tag="highway" value="secondary" color_2="#fdd6a4"/>
<case tag="highway" value="secondary_link" color_2="#fdd6a4"/>
<case tag="highway" value="tertiary" color_2="#fefeb3" shadowColor="#bababa" shadowRadius="1"/>
<case tag="highway" value="tertiary_link" color_2="#fefeb3" shadowColor="#bababa" shadowRadius="1"/>
<!-- bridge -->
<filter layer="1" color="#000000" cap_2="SQUARE">
<filter minzoom="15" maxzoom="15" strokeWidth="14" strokeWidth_2="12" />
<filter minzoom="16" maxzoom="16" strokeWidth="16" strokeWidth_2="14" />
<filter minzoom="17" maxzoom="17" strokeWidth="18" strokeWidth_2="16" />
<filter minzoom="18" strokeWidth="20" strokeWidth_2="18" />
</filter>
</switch>
<switch>
<case tag="highway" value="residential" color="#ffffff" shadowColor="#c2c2c2" color_2="#ffffff" />
<case tag="highway" value="service" color="#ffffff" shadowColor="#c2c2c2" color_2="#ffffff" />
<case tag="highway" value="unclassified" color="#ffffff" shadowColor="#c2c2c2" color_2="#ffffff" />
<case tag="highway" value="road" color="#ffffff" shadowColor="#c2c2c2" color_2="#ffffff" />
<case tag="highway" value="living_street" color="#ffffff" shadowColor="#c2c2c2" color_2="#ffffff" />
<case tag="highway" value="pedestrian" color="#ececec" shadowColor="#b0b0b0" color_2="#ececec"/>
<filter shadowRadius="1">
<switch>
<case layer="-1" pathEffect="4_4" />
<case /> <!-- all other cases -->
<filter>
<filter minzoom="14" maxzoom="14" strokeWidth="9" />
<filter minzoom="15" maxzoom="15" strokeWidth="11" />
<filter minzoom="16" maxzoom="16" strokeWidth="13" />
<filter minzoom="17" maxzoom="17" strokeWidth="16" />
<filter minzoom="18" strokeWidth="18" />
</filter>
</switch>
<!-- bridge -->
<filter layer="1" color="#000000" cap_2="SQUARE">
<filter minzoom="15" maxzoom="15" strokeWidth="13" strokeWidth_2="11" />
<filter minzoom="16" maxzoom="16" strokeWidth="15" strokeWidth_2="13" />
<filter minzoom="17" maxzoom="17" strokeWidth="18" strokeWidth_2="16" />
<filter minzoom="18" strokeWidth="18" strokeWidth_2="18" />
</filter>
</filter>
</switch>
<filter minzoom="15" maxzoom="15" color="#99cccc" strokeWidth="8" color_2="#ffffff" strokeWidth_2="7" pathEffect_2="8_6" tag="highway"
value="construction" />
<filter minzoom="16" color="#99cccc" strokeWidth="11" color_2="#ffffff" strokeWidth_2="9" pathEffect_2="8_6" tag="highway" value="construction" />
<filter minzoom="15" maxzoom="15" color="#99cccc" strokeWidth="8" color_2="#ffffff" strokeWidth_2="7" pathEffect_2="8_6" tag="highway"
value="proposed" />
<filter minzoom="16" color="#99cccc" strokeWidth="11" color_2="#ffffff" strokeWidth_2="9" pathEffect_2="8_6" tag="highway" value="proposed" />
</line>
</renderer>

View file

@ -0,0 +1,166 @@
<renderer name="car" depends="default" defaultColor="#f1eee8">
<!-- PRIORITY Input to filter : tag, value, zoom [minzoom, maxzoom], textLength, ref -->
<text>
<!-- Highway text -->
<filter minzoom="16" textSize="15" textOnPath="true" tag="highway" value="motorway" />
<filter minzoom="16" textSize="15" textOnPath="true" tag="highway" value="motorway_link" />
<switch>
<case tag="highway" value="trunk" />
<case tag="highway" value="trunk_link" />
<case tag="highway" value="primary" />
<case tag="highway" value="primary_link" />
<case tag="highway" value="secondary" />
<case tag="highway" value="secondary_link" />
<filter>
<filter minzoom="13" maxzoom="13" textSize="13" textOnPath="true" />
<filter minzoom="14" maxzoom="14" textSize="14" textOnPath="true" />
<filter minzoom="15" maxzoom="16" textSize="14" textOnPath="true" />
<filter minzoom="17" textSize="16" textOnPath="true" />
</filter>
</switch>
<switch>
<case tag="highway" value="tertiary" />
<case tag="highway" value="tertiary_link" />
<case tag="highway" value="residential" />
<case tag="highway" value="service" />
<case tag="highway" value="unclassified" />
<case tag="highway" value="road" />
<filter>
<filter minzoom="15" maxzoom="16" textSize="14" textOnPath="true" />
<filter minzoom="17" textSize="15" textOnPath="true" />
</filter>
</switch>
<filter minzoom="16" textSize="12" textOnPath="true">
<filter tag="highway" value="track" />
<filter tag="highway" value="path" />
<filter tag="highway" value="living_street" />
<filter tag="highway" value="pedestrian" />
<filter tag="highway" value="cycleway" />
<filter tag="highway" value="byway" />
<filter tag="highway" value="footway" />
<filter tag="highway" value="steps" />
<filter tag="highway" value="bridleway" />
<filter tag="highway" value="services" />
<filter tag="highway" value="ford" />
<filter tag="highway" value="construction" />
<filter tag="highway" value="proposed" />
</filter>
<filter minzoom="16" maxzoom="16" textSize="9" textColor="#444444" textWrapWidth="16" tag="building" />
<filter minzoom="17" maxzoom="17" textSize="11" textColor="#444444" textWrapWidth="16" tag="building" />
<filter minzoom="18" textSize="15" textColor="#444444" textWrapWidth="16" tag="building" />
<filter minzoom="6" maxzoom="8" textSize="8" textHaloRadius="1" textWrapWidth="20" tag="place" value="city" />
<filter minzoom="9" maxzoom="10" textSize="11" textHaloRadius="1" textWrapWidth="20" tag="place" value="city" />
<filter minzoom="11" textSize="14" textHaloRadius="1" textWrapWidth="20" tag="place" value="city" />
<filter minzoom="9" maxzoom="10" textSize="8" textHaloRadius="1" textWrapWidth="20" tag="place" value="town" />
<filter minzoom="11" maxzoom="13" textSize="11" textHaloRadius="1" textWrapWidth="20" tag="place" value="town" />
<filter minzoom="14" textSize="13" textColor="#777777" textHaloRadius="1" textWrapWidth="20" tag="place" value="town" />
<filter minzoom="12" maxzoom="14" textSize="9" textHaloRadius="1" tag="place" value="village" />
<filter minzoom="15" textSize="13" textColor="#777777" textHaloRadius="1" tag="place" value="village" />
<filter minzoom="12" maxzoom="14" textSize="9" textHaloRadius="1" tag="place" value="hamlet" />
<filter minzoom="15" textSize="13" textColor="#777777" textHaloRadius="1" tag="place" value="hamlet" />
<filter minzoom="12" maxzoom="13" textSize="10" textHaloRadius="1" tag="place" value="suburb" />
<filter minzoom="14" textSize="13" textColor="#777777" textHaloRadius="1" tag="place" value="suburb" />
<filter minzoom="14" maxzoom="15" textSize="8" textHaloRadius="1" tag="place" value="locality" />
<filter minzoom="16" textSize="13" textColor="#777777" textHaloRadius="1" tag="place" value="locality" />
<filter minzoom="10" textSize="9" textHaloRadius="1" tag="place" value="island" />
</text>
<line>
<switch>
<case tag="highway" value="motorway" color="#809bc0" />
<case tag="highway" value="motorway_link" color="#809bc0" />
<case tag="highway" value="trunk" color="#a8daa8" />
<case tag="highway" value="trunk_link" color="#a8daa8" />
<case tag="highway" value="primary" color="#eb989a"/>
<case tag="highway" value="primary_link" color="#eb989a"/>
<case tag="highway" value="secondary" color="#fdd6a4"/>
<case tag="highway" value="secondary_link" color="#fdd6a4"/>
<case tag="highway" value="tertiary" color="#fefeb3" shadowColor="#bababa" shadowRadius="1"/>
<case tag="highway" value="tertiary_link" color="#fefeb3" shadowColor="#bababa" shadowRadius="1"/>
<filter>
<switch>
<case layer="-1" pathEffect="4_4" />
<case /> <!-- all other cases -->
<filter>
<filter minzoom="13" maxzoom="14" strokeWidth="10" />
<filter minzoom="15" maxzoom="15" strokeWidth="12" />
<filter minzoom="16" maxzoom="16" strokeWidth="14" />
<filter minzoom="17" maxzoom="17" strokeWidth="16" />
<filter minzoom="18" strokeWidth="18" />
</filter>
</switch>
</filter>
</switch>
<switch>
<case tag="highway" value="motorway" color_2="#809bc0" />
<case tag="highway" value="motorway_link" color_2="#809bc0" />
<case tag="highway" value="trunk" color_2="#a8daa8" />
<case tag="highway" value="trunk_link" color_2="#a8daa8" />
<case tag="highway" value="primary" color_2="#eb989a"/>
<case tag="highway" value="primary_link" color_2="#eb989a"/>
<case tag="highway" value="secondary" color_2="#fdd6a4"/>
<case tag="highway" value="secondary_link" color_2="#fdd6a4"/>
<case tag="highway" value="tertiary" color_2="#fefeb3" shadowColor="#bababa" shadowRadius="1"/>
<case tag="highway" value="tertiary_link" color_2="#fefeb3" shadowColor="#bababa" shadowRadius="1"/>
<!-- bridge -->
<filter layer="1" color="#000000" cap_2="SQUARE">
<filter minzoom="15" maxzoom="15" strokeWidth="14" strokeWidth_2="12" />
<filter minzoom="16" maxzoom="16" strokeWidth="16" strokeWidth_2="14" />
<filter minzoom="17" maxzoom="17" strokeWidth="18" strokeWidth_2="16" />
<filter minzoom="18" strokeWidth="20" strokeWidth_2="18" />
</filter>
</switch>
<switch>
<case tag="highway" value="residential" color="#ffffff" shadowColor="#c2c2c2" color_2="#ffffff" />
<case tag="highway" value="service" color="#ffffff" shadowColor="#c2c2c2" color_2="#ffffff" />
<case tag="highway" value="unclassified" color="#ffffff" shadowColor="#c2c2c2" color_2="#ffffff" />
<case tag="highway" value="road" color="#ffffff" shadowColor="#c2c2c2" color_2="#ffffff" />
<case tag="highway" value="living_street" color="#ffffff" shadowColor="#c2c2c2" color_2="#ffffff" />
<case tag="highway" value="pedestrian" color="#ececec" shadowColor="#b0b0b0" color_2="#ececec"/>
<filter shadowRadius="1">
<switch>
<case layer="-1" pathEffect="4_4" />
<case /> <!-- all other cases -->
<filter>
<filter minzoom="14" maxzoom="14" strokeWidth="9" />
<filter minzoom="15" maxzoom="15" strokeWidth="11" />
<filter minzoom="16" maxzoom="16" strokeWidth="13" />
<filter minzoom="17" maxzoom="17" strokeWidth="16" />
<filter minzoom="18" strokeWidth="18" />
</filter>
</switch>
<!-- bridge -->
<filter layer="1" color="#000000" cap_2="SQUARE">
<filter minzoom="15" maxzoom="15" strokeWidth="13" strokeWidth_2="11" />
<filter minzoom="16" maxzoom="16" strokeWidth="15" strokeWidth_2="13" />
<filter minzoom="17" maxzoom="17" strokeWidth="18" strokeWidth_2="16" />
<filter minzoom="18" strokeWidth="18" strokeWidth_2="18" />
</filter>
</filter>
</switch>
<filter minzoom="15" maxzoom="15" color="#99cccc" strokeWidth="8" color_2="#ffffff" strokeWidth_2="7" pathEffect_2="8_6" tag="highway"
value="construction" />
<filter minzoom="16" color="#99cccc" strokeWidth="11" color_2="#ffffff" strokeWidth_2="9" pathEffect_2="8_6" tag="highway" value="construction" />
<filter minzoom="15" maxzoom="15" color="#99cccc" strokeWidth="8" color_2="#ffffff" strokeWidth_2="7" pathEffect_2="8_6" tag="highway"
value="proposed" />
<filter minzoom="16" color="#99cccc" strokeWidth="11" color_2="#ffffff" strokeWidth_2="9" pathEffect_2="8_6" tag="highway" value="proposed" />
</line>
</renderer>

View file

@ -1,3 +1,106 @@
<renderer name="default-night" depends="default" defaultColor="#08314b"> <renderer name="default-night" depends="default" defaultColor="#090A25">
<!-- PRIORITY Input to filter : tag, value, zoom [minzoom, maxzoom], textLength, ref -->
<text>
<!-- Highway ref -->
<filter minzoom="10" tag="highway" value="trunk" ref="only" textMinDistance="70" textColor="#C2C2C2" textSize="10" textBold="true">
<filter textLength="1" textShield="tru_shield1" />
<filter textLength="2" textShield="tru_shield2" />
<filter textLength="3" textShield="tru_shield3" />
<filter textLength="4" textShield="tru_shield4" />
<filter textLength="5" textShield="tru_shield5" />
<filter textLength="6" textShield="tru_shield6" />
</filter>
<filter minzoom="10" tag="highway" value="motorway" ref="only" textMinDistance="70" textColor="#C2C2C2" textSize="10" textBold="true">
<filter textLength="1" textShield="mot_shield1" />
<filter textLength="2" textShield="mot_shield2" />
<filter textLength="3" textShield="mot_shield3" />
<filter textLength="4" textShield="mot_shield4" />
<filter textLength="5" textShield="mot_shield5" />
<filter textLength="6" textShield="mot_shield6" />
</filter>
<filter minzoom="11" tag="highway" value="primary" ref="only" textMinDistance="70" textColor="#C2C2C2" textSize="10" textBold="true">
<filter textLength="1" textShield="pri_shield1" />
<filter textLength="2" textShield="pri_shield2" />
<filter textLength="3" textShield="pri_shield3" />
<filter textLength="4" textShield="pri_shield4" />
<filter textLength="5" textShield="pri_shield5" />
<filter textLength="6" textShield="pri_shield6" />
</filter>
<filter minzoom="14" tag="highway" value="secondary" ref="only" textMinDistance="70" textColor="#C2C2C2" textSize="10" textBold="true">
<filter textLength="1" textShield="sec_shield1" />
<filter textLength="2" textShield="sec_shield2" />
<filter textLength="3" textShield="sec_shield3" />
<filter textLength="4" textShield="sec_shield4" />
<filter textLength="5" textShield="sec_shield5" />
<filter textLength="6" textShield="sec_shield6" />
</filter>
<filter minzoom="15" tag="highway" value="tertiary" ref="only" textMinDistance="70" textColor="#C2C2C2" textSize="10" textBold="true">
<filter textLength="1" textShield="ter_shield1" />
<filter textLength="2" textShield="ter_shield2" />
<filter textLength="3" textShield="ter_shield3" />
<filter textLength="4" textShield="ter_shield4" />
<filter textLength="5" textShield="ter_shield5" />
<filter textLength="6" textShield="ter_shield6" />
</filter>
<filter minzoom="10" textSize="8" textColor="#4D6EA4" textHaloRadius="1" textDy="-12" tag="aeroway" value="aerodrome" />
<filter minzoom="10" textSize="9" textBold="true" textColor="#4D6EA4" textHaloRadius="1" textDy="-12" tag="aeroway" value="airport" />
<filter minzoom="15" textSize="9" textColor="#0000C0" textHaloRadius="1" textWrapWidth="30" tag="leisure" value="marina" />
</text>
<!-- PRIORITY Input to filter : tag, value, zoom [minzoom, maxzoom] -->
<polygon>
<filter minzoom="15" strokeWidth_2="1" color_2="#8C8C8C" color="#ffffff">
<filter tag="highway" value="unclassified" />
<filter tag="highway" value="road" />
<filter tag="highway" value="service" />
<filter tag="highway" value="residential" />
</filter>
<filter minzoom="13" color="#B08D8D">
<filter tag="railway" value="station" />
</filter>
<filter minzoom="8" color="#8EA3A3">
<filter tag="waterway" value="riverbank" />
</filter>
<filter minzoom="10" color="#8EA3A3">
<filter tag="waterway" value="canal" />
<filter tag="waterway" value="dock" />
<filter tag="waterway" value="mill_pond" />
</filter>
<!-- aeroway -->
<filter minzoom="12" color="#649F9F" tag="aeroway">
<filter value="aerodrome" />
<filter value="airport" />
</filter>
<filter minzoom="15" color="#A179C9" tag="aeroway" value="terminal" />
<filter minzoom="13" color="#B8A5C9" tag="aeroway" value="apron" />
<filter color="#8EA3A3">
<filter minzoom="6" tag="natural" value="coastline" />
<filter minzoom="7" tag="natural" value="water" />
<filter minzoom="7" tag="natural" value="lake" />
</filter>
<!-- landuse -->
<filter minzoom="10" color="#8EA3A3" tag="landuse" value="basin" />
<filter minzoom="7" color="#8EA3A3" tag="landuse" value="reservoir" />
<filter minzoom="7" color="#8EA3A3" tag="landuse" value="water" />
</polygon>
</renderer> </renderer>

View file

@ -147,31 +147,34 @@
</switch> </switch>
<filter minzoom="15" maxzoom="16" textSize="9" textOnPath="true" tag="highway" value="tertiary" /> <switch>
<filter minzoom="17" textSize="11" textOnPath="true" tag="highway" value="tertiary" /> <case tag="highway" value="tertiary" />
<filter minzoom="15" maxzoom="16" textSize="9" textOnPath="true" tag="highway" value="residential" /> <case tag="highway" value="tertiary_link" />
<filter minzoom="17" textSize="11" textOnPath="true" tag="highway" value="residential" /> <case tag="highway" value="residential" />
<filter minzoom="15" maxzoom="16" textSize="9" textOnPath="true" tag="highway" value="service" /> <case tag="highway" value="service" />
<filter minzoom="17" textSize="11" textOnPath="true" tag="highway" value="service" /> <case tag="highway" value="unclassified" />
<filter minzoom="15" maxzoom="16" textSize="9" textOnPath="true" tag="highway" value="unclassified" /> <case tag="highway" value="road" />
<filter minzoom="17" textSize="11" textOnPath="true" tag="highway" value="unclassified" /> <filter>
<filter minzoom="15" maxzoom="16" textSize="9" textOnPath="true" tag="highway" value="road" /> <filter minzoom="15" maxzoom="16" textSize="9" textOnPath="true" />
<filter minzoom="17" textSize="11" textOnPath="true" tag="highway" value="road" /> <filter minzoom="17" textSize="11" textOnPath="true" />
</filter>
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="track" /> </switch>
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="path" />
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="living_street" />
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="pedestrian" />
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="cycleway" />
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="byway" />
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="footway" />
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="steps" />
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="bridleway" />
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="services" />
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="ford" />
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="construction" />
<filter minzoom="16" textSize="9" textOnPath="true" tag="highway" value="proposed" />
<filter minzoom="16" textSize="9" textOnPath="true">
<filter tag="highway" value="track" />
<filter tag="highway" value="path" />
<filter tag="highway" value="living_street" />
<filter tag="highway" value="pedestrian" />
<filter tag="highway" value="cycleway" />
<filter tag="highway" value="byway" />
<filter tag="highway" value="footway" />
<filter tag="highway" value="steps" />
<filter tag="highway" value="bridleway" />
<filter tag="highway" value="services" />
<filter tag="highway" value="ford" />
<filter tag="highway" value="construction" />
<filter tag="highway" value="proposed" />
</filter>
<!-- Natural --> <!-- Natural -->
<filter minzoom="15" textSize="9" textHaloRadius="2" textWrapWidth="15" tag="natural" value="park" /> <filter minzoom="15" textSize="9" textHaloRadius="2" textWrapWidth="15" tag="natural" value="park" />

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?> <?xml version="1.0" encoding="utf-8" standalone="no"?>
<resources> <resources>
<string name="rendering_exception">Nastala chyba pri vykresľovaní vybratej oblasti</string>
<string name="rendering_out_of_memory">Nedostatok pamäte na zobrazenie vybratej oblasti</string>
<string name="show_point_options">Možnosti bodu</string> <string name="show_point_options">Možnosti bodu</string>
<string name="renderer_load_sucess">Vykresľovač bol úspešne načítaný</string> <string name="renderer_load_sucess">Vykresľovač bol úspešne načítaný</string>
<string name="renderer_load_exception">Nastala sa výnimka: vykresľovač nebol načítaný</string> <string name="renderer_load_exception">Nastala výnimka: vykresľovač nebol načítaný</string>
<string name="renderers">Vektorový vykresľovač</string> <string name="renderers">Vektorový vykresľovač</string>
<string name="renderers_descr">Vybrať štýl vektorového vykresľovania</string> <string name="renderers_descr">Vybrať štýl vektorového vykresľovania</string>

View file

@ -180,22 +180,19 @@ public class BaseOsmandRender implements RenderingRuleVisitor {
return null; return null;
} }
String ret = renderObjectTextImpl(name, tag, val, rc, ref); String ret = renderObjectTextImpl(name, tag, val, rc, ref);
if(rc.textSize == 0){ if(ret == null){
ret = renderObjectTextImpl(name, tag, null, rc, ref); ret = renderObjectTextImpl(name, tag, null, rc, ref);
} }
if(rc.textSize == 0){ if(ret == null){
for(BaseOsmandRender d : dependRenderers){ for(BaseOsmandRender d : dependRenderers){
ret = d.renderObjectText(name, tag, val, rc, ref); ret = d.renderObjectText(name, tag, val, rc, ref);
if (rc.textSize > 0) { if (ret != null) {
break; break;
} }
} }
} }
if(rc.textSize > 0){
return ret; return ret;
} else {
return null;
}
} }
private float getObjectOrderImpl(String tag, String val, int type, int layer) { private float getObjectOrderImpl(String tag, String val, int type, int layer) {
@ -223,7 +220,8 @@ public class BaseOsmandRender implements RenderingRuleVisitor {
if (list != null) { if (list != null) {
for (FilterState f : list) { for (FilterState f : list) {
if (f.minzoom <= zoom && (zoom <= f.maxzoom || f.maxzoom == -1)) { if (f.minzoom <= zoom && (zoom <= f.maxzoom || f.maxzoom == -1)) {
return RenderingIcons.getIcons().get(f.icon); Integer i = RenderingIcons.getIcons().get(f.icon);
return i == null ? 0 : i;
} }
} }
} }
@ -355,7 +353,7 @@ public class BaseOsmandRender implements RenderingRuleVisitor {
// first find rule with same text length // first find rule with same text length
for (FilterState f : list) { for (FilterState f : list) {
if (f.minzoom <= rc.zoom && (rc.zoom <= f.maxzoom || f.maxzoom == -1) && checkRefTextRule(f, ref)) { if (f.minzoom <= rc.zoom && (rc.zoom <= f.maxzoom || f.maxzoom == -1) && checkRefTextRule(f, ref)) {
if(f.textLength == name.length() && f.text.textSize > 0){ if(f.textLength == name.length()){
fillTextProperties(f, rc); fillTextProperties(f, rc);
return name; return name;
} }
@ -364,7 +362,7 @@ public class BaseOsmandRender implements RenderingRuleVisitor {
for (FilterState f : list) { for (FilterState f : list) {
if (f.minzoom <= rc.zoom && (rc.zoom <= f.maxzoom || f.maxzoom == -1) && checkRefTextRule(f, ref)) { if (f.minzoom <= rc.zoom && (rc.zoom <= f.maxzoom || f.maxzoom == -1) && checkRefTextRule(f, ref)) {
if(f.textLength == 0 && f.text.textSize > 0){ if(f.textLength == 0){
fillTextProperties(f, rc); fillTextProperties(f, rc);
return name; return name;
} }

View file

@ -744,7 +744,7 @@ public class OsmandRenderer {
name = render.renderObjectText(name, pair.tag, pair.value, rc, false); name = render.renderObjectText(name, pair.tag, pair.value, rc, false);
} }
} }
if(resId == null && name == null){ if((resId == null || resId == 0) && name == null){
return; return;
} }
int len = obj.getPointsLength(); int len = obj.getPointsLength();
@ -760,7 +760,7 @@ public class OsmandRenderer {
ps.y /= len; ps.y /= len;
} }
if(resId != null){ if(resId != null && resId != 0){
IconDrawInfo ico = new IconDrawInfo(); IconDrawInfo ico = new IconDrawInfo();
ico.x = ps.x; ico.x = ps.x;
ico.y = ps.y; ico.y = ps.y;
@ -787,8 +787,8 @@ public class OsmandRenderer {
return; return;
} }
int layer = MapRenderingTypes.getNegativeWayLayer(wholeType); int layer = MapRenderingTypes.getNegativeWayLayer(wholeType);
render.renderPolyline(pair.tag, pair.value, rc.zoom, rc, this, layer); boolean res = render.renderPolyline(pair.tag, pair.value, rc.zoom, rc, this, layer);
if(rc.main.strokeWidth == 0){ if(rc.main.strokeWidth == 0 || !res){
return; return;
} }
int length = obj.getPointsLength(); int length = obj.getPointsLength();

View file

@ -24,8 +24,11 @@ public class RendererRegistry {
private final static Log log = LogUtil.getLog(RendererRegistry.class); private final static Log log = LogUtil.getLog(RendererRegistry.class);
public final static String DEFAULT_RENDER = "default"; //$NON-NLS-1$ public final static String DEFAULT_RENDER = "default"; //$NON-NLS-1$
public final static String CAR_RENDER = "car"; //$NON-NLS-1$
public final static String NIGHT_SUFFIX = "-night"; //$NON-NLS-1$ public final static String NIGHT_SUFFIX = "-night"; //$NON-NLS-1$
public final static String DEFAULT_NIGHT_RENDER = DEFAULT_RENDER + NIGHT_SUFFIX; public final static String DEFAULT_NIGHT_RENDER = DEFAULT_RENDER + NIGHT_SUFFIX;
public final static String CAR_NIGHT_RENDER = CAR_RENDER + NIGHT_SUFFIX;
public static RendererRegistry getRegistry() { public static RendererRegistry getRegistry() {
return registry; return registry;
@ -34,6 +37,8 @@ public class RendererRegistry {
public RendererRegistry(){ public RendererRegistry(){
internalRenderers.put(DEFAULT_RENDER, "default.render.xml"); //$NON-NLS-1$ internalRenderers.put(DEFAULT_RENDER, "default.render.xml"); //$NON-NLS-1$
internalRenderers.put(DEFAULT_NIGHT_RENDER, "default-night.render.xml"); //$NON-NLS-1$ internalRenderers.put(DEFAULT_NIGHT_RENDER, "default-night.render.xml"); //$NON-NLS-1$
internalRenderers.put(CAR_RENDER, "car.render.xml"); //$NON-NLS-1$
internalRenderers.put(CAR_NIGHT_RENDER, "car-night.render.xml"); //$NON-NLS-1$
} }
private BaseOsmandRender defaultRender = null; private BaseOsmandRender defaultRender = null;
@ -91,7 +96,7 @@ public class RendererRegistry {
if(externalRenderers.containsKey(name)){ if(externalRenderers.containsKey(name)){
is = new FileInputStream(externalRenderers.get(name)); is = new FileInputStream(externalRenderers.get(name));
} else if(internalRenderers.containsKey(name)){ } else if(internalRenderers.containsKey(name)){
is = OsmandRenderingRulesParser.class.getResourceAsStream("default.render.xml"); //$NON-NLS-1$ is = OsmandRenderingRulesParser.class.getResourceAsStream(internalRenderers.get(name));
} else { } else {
throw new IllegalArgumentException("Not found " + name); //$NON-NLS-1$ throw new IllegalArgumentException("Not found " + name); //$NON-NLS-1$
} }