当前位置: 首页 > 知识库问答 >
问题:

OpenLayers图标中svg显示不正确[重复]

能翔宇
2023-03-14

请告诉我OpenLayers中的图标如何使用svg?svg应该有什么结构?

我们在使用svg时遇到了几个问题,并准备了一个示例:

>

  • 使用“颜色”属性(以绿色微笑和红色微笑为例)无法正确更改图像的颜色

    如果删除指向标准“xmlns=”http://www.w3.org/2000/svg“的链接(例如黄色微笑),则不会显示图像。为什么它不起作用?

    感谢您的回答!

  • 共有1个答案

    秋和雅
    2023-03-14

    如ol/style/Icon文档中所述,color属性为图标添加“淡色”。这样做是为了添加对jpg和png图标的支持。这意味着,颜色混合到图标颜色中。

    在你的例子中,因为所有的路都是黑色的-

    这就是新图标的样子:

        let greenIcon =
      '<svg width="148" height="117" viewBox="0 0 148 117" fill="none" xmlns="http://www.w3.org/2000/svg">' +
      '<rect width="148" height="117"/>' +
      '<path d="M86.5833 55.833C90.0351 55.833 92.8333 53.0348 92.8333 49.583C92.8333 46.1312 90.0351 43.333 86.5833 43.333C83.1316 43.333 80.3333 46.1312 80.3333 49.583C80.3333 53.0348 83.1316 55.833 86.5833 55.833Z" fill="white"/>' +
      '<path d="M57.4167 55.833C60.8685 55.833 63.6667 53.0348 63.6667 49.583C63.6667 46.1312 60.8685 43.333 57.4167 43.333C53.9649 43.333 51.1667 46.1312 51.1667 49.583C51.1667 53.0348 53.9649 55.833 57.4167 55.833Z" fill="white"/>' +
      '<path d="M72 76.6663C65.8333 76.6663 60.5417 73.2913 57.625 68.333H50.6667C54 76.8747 62.2917 82.9163 72 82.9163C81.7083 82.9163 90 76.8747 93.3334 68.333H86.375C83.5 73.2913 78.1667 76.6663 72 76.6663ZM71.9583 18.333C48.9583 18.333 30.3333 36.9997 30.3333 59.9997C30.3333 82.9997 48.9583 101.666 71.9583 101.666C95 101.666 113.667 82.9997 113.667 59.9997C113.667 36.9997 95 18.333 71.9583 18.333ZM72 93.333C53.5833 93.333 38.6667 78.4163 38.6667 59.9997C38.6667 41.583 53.5833 26.6663 72 26.6663C90.4167 26.6663 105.333 41.583 105.333 59.9997C105.333 78.4163 90.4167 93.333 72 93.333Z" fill="white"/>' +
      "</svg>";
    
     类似资料:
    • 我试图检查通过cv2.imread()实际读取的数据,但每当我这样做时,我得到的是一个全灰色屏幕。我应该得到彩虹的图像。

    • 我有jframe与2 jboard。我有一些组件在第一个jboard和第二个按钮。当我在第一个面板上点击jbuton(调用方法删除所有)它删除所有组件(我调用方法重新验证(),重新绘制())在该jboard然后我显示第二个面板与组件。长话短说,我删除第一个jboard显示第二个,第二个显示第一个jframe,...在jboard之间切换工作正常,当我切换回第一个jboard光标时,按钮指针类型不显

    • 有人能告诉我代码有什么问题吗?它只显示第一行和表头information.thks

    • 我正在尝试使用一个名为'jQuery.InstagramFeed'的库,它允许我在不使用访问令牌的情况下显示用户feed中的图像。所以,我一直在尝试使用它,但是,出于某种原因,它并没有向我展示任何东西。 我已经研究了几个星期了,我已经尝试了在这里的很多帖子(以及其他论坛)中提出的很多解决方案,比如下面这些: TypeError:$不是函数调用jQuery函数 “未捕获的TypeError:$不是函

    • 图像元素不显示。它显示具有替代名称的默认图像文件。 这是我的代码。我渲染它有对象头像有值null.so如果它的null它应该显示图像。 这是我的文件夹结构

    • 因此,我创建了一个user_login.php页面(由html组成,一个登录表单),表单是: 除此之外,我还有一个login.php脚本(见下文) 现在我知道我的connection.php可以工作了,因为我在网站的其他地方使用它。 我的问题是,当我在浏览器中浏览用户_login.php页面时,当我单击“登录”按钮时,它会将我带到www.website.com/login.php文件,但整个页面是