我正在尝试在webview的nativescript应用程序中包含openlayers。这在大多数情况下都可以正常工作。到目前为止,我已经使用远程CDN文件在Web视图中获取openlayers。当我更改此行
<script src="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/build/ol.js"></script>
此行
<script src="./js/external/ol.js"></script>
openlayers中的图像图标不再正常工作(请参见下面的图像)。当我在笔记本电脑上的Chrome中打开html文件时,无论哪种方法都可以正常工作。为什么使用本地文件时Webview的行为有所不同?
以下是仓库的链接:https://github.com/ll9/ol-local-cdns
更新:哇,当您没有足够的Stackoverflow点时,显然不能发布嵌入式图像,因此这些图像是纯链接:
本地文件: https://raw.githubusercontent.com/ll9/ol-local-cdns/master/ol-fail.png
远程: https://raw.githubusercontent.com/ll9/ol-local-cdns/master/ol-ok.png
答案 0 :(得分:2)
OpenLayers对控制按钮上的某些字符使用UTF-8(而不是使用诸如−
之类的html代码)。 CDN库以UTF格式保存,但是通过其他方式创建或编辑的任何CDN库都可能没有。在html标头中插入<meta charset="utf-8">
标签可确保浏览器正确解释任何此类脚本,无论其来源如何。另请参见openlayers 5.1.3: "Damaged" zoom out button in quick start example?