首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在奥斯曼安卓系统中改变primaryRoadColor?

如何在奥斯曼安卓系统中改变primaryRoadColor?
EN

Stack Overflow用户
提问于 2015-12-29 02:40:50
回答 3查看 1.6K关注 0票数 4

我尝试将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

我跟踪了这个链接,但没有成功。

EN

回答 3

Stack Overflow用户

发布于 2016-05-28 04:29:20

看来本教程需要更新,一个完整的"Hello!“典型的例子会很好的。

这就是我在OsmAnd+ 2.3.5中所做的工作。

我的数据存储文件夹(Settings -> General Settings -> Data storage folder)位于:

代码语言:javascript
运行
复制
/storage/sdcard1/osmand-plus/osmand

因此,自定义呈现器文件必须转到:

代码语言:javascript
运行
复制
/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)呈现器。

这是我的渲染器的内容。我把它做成了一个模板,这样以后我就可以看到这个文件中还有什么可以进入的。

代码语言:javascript
运行
复制
<?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>

以下是研究结果:

  • OsmAnd样式
  • 新的黑色道路菜单条目(取自文件名)
  • 黑色道路样式日模式
  • 黑色道路风格的夜间模式

票数 6
EN

Stack Overflow用户

发布于 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,当然这太过分了,但我已经安装好了。应该有其他小得多的编辑器提供此选项。

作为参考,这里有一个这种风格的截图:

票数 1
EN

Stack Overflow用户

发布于 2020-01-04 10:44:03

如果有人只对颜色变化感兴趣,那么我上个月写的这个OSM日记条目可能会有所帮助。

除此之外,我不知道一个"hello world“类型的例子,其中包括一些应该基于如何操作文档的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34503652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档