我尝试将primaryRoadColor值更改为ff0000。当我编译时,它将被替换为默认的ff80a0值。如何在哪里为道路创建自定义颜色?
在我的呈现文件夹中,我有以下XML:
default.render.xml, Depends-template.render.xml, hud.render.xml, LightRS.render.xml, nautical.render.xml, regions.render.xml, skimap.render.xml, standalone-template.render.xml, test.render.xml, Topo-map-assimilation.render.xml,Touring-view_(more-contrast-and-details).render.xml, UniRS.render.xml
我跟踪了这个链接,但没有成功。
发布于 2016-05-28 04:29:20
看来本教程需要更新,一个完整的"Hello!“典型的例子会很好的。
这就是我在OsmAnd+ 2.3.5中所做的工作。
我的数据存储文件夹(Settings -> General Settings -> Data storage folder)位于:
/storage/sdcard1/osmand-plus/osmand因此,自定义呈现器文件必须转到:
/storage/sdcard1/osmand-plus/osmand/rendering这个目录一开始可能是空的,但是当您从Configure map -> Map style中选择map样式时,OsmAnd会将相应的呈现器XML文件放到该目录中。
注意:,您必须完全关闭应用程序,在添加了新的渲染器或对现有的渲染器进行更改之后,重新重新启动应用程序来获取更改。
我走了“继承”路线,创建了一个名为BLACK_ROADS.render.xml (遵循<name-of-renderer>.render.xml命名要求)的文件,该文件扩展了default (default.render.xml)呈现器。
这是我的渲染器的内容。我把它做成了一个模板,这样以后我就可以看到这个文件中还有什么可以进入的。
<?xml version="1.0" encoding="utf-8"?>
<!-- depends="default" -> default.render.xml -->
<renderingStyle name="Paints the roads black in day mode, white in night mode"
depends="default" defaultColor="#ffffff" version="1">
<renderingAttribute name="primaryRoadColor">
<!-- 40 -> 25% opacity, 80 -> 50% opacity, C0 -> 75% opacity, FF -> 100% opacity -->
<!-- or remove first two hex digits for 100% opacity -->
<!-- NIGHT MODE -->
<case nightMode="true" attrColorValue="#80ffffff"/> <!-- white -->
<!-- DAY MODE -->
<case attrColorValue="#80000000"/> <!-- black -->
</renderingAttribute>
<!-- These are "global" variables (can have many of each), which
can be referenced throughout the file. -->
<!--
<renderingAttribute/>
<renderingConstant/>
<renderingProperty/>
-->
<!-- This section determines the order in which objects are rendered.
Higher values will be on top. -->
<order/>
<!-- This section determines how text object are displayed. -->
<text/>
<!-- This section determines how point objects, which typically
have an icon associated with them, are displayed. -->
<point/>
<!-- This section determines how polygon objects are displayed. -->
<polygon/>
<!-- This section determines the look of roads, footpaths, coastlines etc.
Basically everything that is a line goes into this section. -->
<line/>
</renderingStyle>以下是研究结果:




发布于 2017-09-17 09:33:53
我编辑了包含(mapnik) XML的内容,并从默认文件中添加了一些东西,以形成新的样式。osmAnd应用程序提供的应用程序确实让人望而却步,尤其是在路上。颜色太强烈,太多,所以在这个文件中,我使它类似谷歌地图,这是更容易在你的眼睛。不重要的道路是白色的,而主要的道路是黄色的。
这应该会回答您的问题,因为我已经注释了我已经更改的部分,所以如果您寻找"eml“,您可以找到它们。具体来说,如果你想改变道路的颜色,寻找道路-0贯穿道路-4。这是五条大路。较小的也在这一节。
在进行更改时,请记住有几种条件可能无法反映您的更改。这是因为附加选项有一组自己的样式。有路样式,只选一个,只编辑那个,不要搞混。我选了德国公路地图集。还有地图模式(日/夜/等),我选择了日。这一切都是非常多用途,但对我来说,一个单一的地图风格将足够好。
You can download my xml file here (eml.render.xml) : https://pastebin.com/7MystwDv
1)将其复制到osmAnd的“呈现”文件夹
文件位置,取决于版本,可以是:
/存储/sdcard1 1/osmand plus/osmand/呈现
或
/Internal storage/Android/data/net.osmand/files/rendering
2)启动osmAnd并转到Configure,然后单击Map样式。在本例中,您将从您复制的eml.render.xml文件名派生出一个新的样式"eml“。
( 3)选择后,将道路风格改为:“德国公路地图集”,因为这是我唯一改变过的
4)地图模式:“日”也是我唯一改变的
如果您计划编辑这些文件,那么使用一个显示十六进制颜色的编辑器会有很大帮助。我使用的是Android,当然这太过分了,但我已经安装好了。应该有其他小得多的编辑器提供此选项。
作为参考,这里有一个这种风格的截图:

https://stackoverflow.com/questions/34503652
复制相似问题