Openlayers 导出到 KML 并保留我的地图样式

2023-12-21

我成功地从 Openlayers 编写了 KML,但是 kml 文件中不存在任何样式(颜色、描边等)。是否可以生成带有样式的 KML?

我在这里发现了类似的问题:https://gis.stackexchange.com/questions/17031/openlayers-format-kml-w​​rite-style https://gis.stackexchange.com/questions/17031/openlayers-format-kml-write-style

提前致谢。


到目前为止,WRITE 方法还没有使用'extractStyles':true,如你所见的财产here http://trac.osgeo.org/openlayers/browser/trunk/openlayers/lib/OpenLayers/Format/KML.js?rev=12434。只有 READ 方法可以。

我看到的唯一方法就是重新创建它们。在下面的示例中,我创建了我想要的 KML 样式,并且注射了它进入 openlayers 创建的 kml 字符串。

myorg.Util.GetKMLFromFeatures = function (features, strfolderName, strfolderDescription) {

    var format = new OpenLayers.Format.KML({
        'maxDepth': 10,
        'extractStyles': true,
        'internalProjection': myorg.UI.Map.getMap().baseLayer.projection,
        'externalProjection': myorg.UI.Map.Projections.Geographic
    });

    var kmlStyle = "<Style id='OutlineOnlyStyle'><PolyStyle><color>ff0000cc</color><fill>0</fill><outline>1</outline></PolyStyle></Style>";

    format.foldersName = strfolderName;
    format.foldersDesc = strfolderDescription;

    //add style description
    var kml = format.write(features).replace(/<Folder>/g, '<Folder>' + kmlStyle)
    .replace(/><name>/g, '><styleUrl>#OutlineOnlyStyle</styleUrl><name>');

    return kml;

};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Openlayers 导出到 KML 并保留我的地图样式 的相关文章

随机推荐

  • 在 iPad 上捕获 DOM/HTML/BODY 上的 Click 事件

    我使用 jQuery 来检测 DOM 上的点击 或者让我们检测每次点击 document click function alert Click 除了 iPad iPhone 版 Safari 之外 该功能在所有浏览器中都表现良好 我还尝试在
  • 阅读 R 的电子邮件附件

    我正在使用 R 读取 Outlook 附件 我的参考资料在这里 使用 R 从 Outlook 电子邮件下载附件 https stackoverflow com questions 45577698 download attachment f
  • 以编程方式更改 WPF 中的按钮图标

    我目前有一个按钮 上面有一个图标 图像 我已经在 XAML 中配置了按钮和图像
  • 为什么静态构造函数没有任何参数?

    根据 MSDN 静态构造函数不采用访问修饰符或具有参数 在创建第一个实例或引用任何静态成员之前 会自动调用静态构造函数来初始化类 静态构造函数不能直接调用 谁能解释一下为什么静态构造函数不能有参数 正如 MSDN 所说 在创建第一个实例之前
  • 存储库模式与 DAL

    它们是一样的吗 刚刚看完罗布 康纳利的店面教程 https www asp net mvc videos mvc 1 aspnet mvc storefront aspnet mvc storefront part 1 architectu
  • 自定义集合在编辑时使 DataGrid 崩溃

    我目前正在尝试将 DataGrid ItemsSource 绑定到自定义 RowCollection 它实现 IList 和 INotifyCollectionChanged Public Class RowCollection of T
  • HTML 和 CSS:如何设置 HR 标签的样式以嵌入标题

    我正在尝试创建一个遵循以下模型的 HR
  • 如何在flutter应用程序中获取JSON数据?

    我从服务器获取了以下 JSON 数据 我需要在 pageviewbuilder 以及 flutter 应用程序中的 listview builder 中获取和配置这些数据 列表视图构建器 垂直滚动 嵌套在页面视图构建器 水平滚动 中 我已经
  • 为什么Cloneable没有clone()? [复制]

    这个问题在这里已经有答案了 我试图了解 Object clone 在 Java 中是如何工作的 我发现了以下事实 一个类实现了Cloneable接口 向 Object clone 方法指示该方法对该类的实例进行逐字段复制是合法的 调用Obj
  • 无法解析“ImmutableList”中的“of”方法[已关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 调试详情 按照教程从 Android Billing 4 0 迁移到 5 0https developer androi
  • ASP.NET URL 重写

    如何在 ASP NET 中重写 URL 我希望用户能够访问 http www website com users smith 代替 http www website com user smith 尝试托管 Fusion URL 重写器和反向
  • 在 iPhone 上解析 HTML [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • python 3中的str到时间对象

    给定一对str代表一个对象ISO 8601 https en wikipedia org wiki ISO 8601时间和时区 time str 09 30 time zone str America New York 如何将这两个字符串解
  • Android Studio 失败 - 不支持不支持的主要次要版本 51.0

    直到昨天 我的 Android Studio 工作正常并帮助我创建应用程序 但今天 它开始给出 Gradle 错误 指出不支持主要次要版本 51 0 并要求我配置 gradle 如果我尝试重新导入项目 我会收到相同的错误 我的java版本是
  • RStudio 中的代码折叠:在代码中创建层次结构

    I m writing R scripts in RStudio and I use the code folding https support rstudio com hc en us articles 200484568 Code F
  • 应用 Thunderbird 的 git 系列补丁的最简单方法是什么

    我有一封邮件 其中包含 N 个附件 格式为 000X xxxx patch 我想将所有补丁应用到我的 master 之上 但我希望将所有提交分开 因为原始作者提交了它们 当然包括提交消息 方法一 打开邮件 点击另存为 xxx eml 然后
  • 在列表中查找项目的最快方法?

    我有一个未排序的字符串列表 我可以将这些项目放入数组 列表 排序列表等中 我需要找到在此列表中查找字符串的最快方法 我是否最好将列表转储到数组中 对其进行排序 然后实现二分搜索 或者框架是否提供了一种方法来做到这一点 Thanks 附 针对
  • swift 3 - 创建具有关系的条目

    我第一次处理核心数据中的关系 我现在有什么 let appdelegate NSApplication shared delegate as AppDelegate let context appdelegate persistentCon
  • 如何使用 CAP_SYS_ADMIN

    有人可以向我解释一下如何在 c 中使用或设置 CAP SYS ADMIN 吗 我需要卸载 USB 驱动器的功能 但不知道如何使用它 以下是使用命令行执行此操作的方法 sudo setcap cap sys admin ep executab
  • Openlayers 导出到 KML 并保留我的地图样式

    我成功地从 Openlayers 编写了 KML 但是 kml 文件中不存在任何样式 颜色 描边等 是否可以生成带有样式的 KML 我在这里发现了类似的问题 https gis stackexchange com questions 170