gpt4 book ai didi

javascript - 将img嵌入svg标记内不显示

转载 作者:行者123 更新时间:2023-12-03 02:40:14 41 4
gpt4 key购买 nike

我将图像嵌入 svg 标签内并设置为标记 url,即使图像有效,未显示的图像也显示为损坏。我怎样才能显示图像?在下面的 fiddle 中,我尝试显示 svg 标记。 svg 标记不显示已嵌入 svg 标记中的图像。

 <div id="map_canvas"></div>
var geocoder;
var map;

function initialize() {
var map = new google.maps.Map(
document.getElementById("map_canvas"), {
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var time = "00:15:30";
var testIcon = {
anchor: new google.maps.Point(10, 10),
url: 'data:image/svg+xml;utf-8,<svg width="100" height="100"
class="crop-shapes" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"> <line x1="28" y1="40"
x2="32" y2="60" style="stroke:#666; stroke-width:1"/><line x1="32"
y1="60" x2="50" y2="50" style="stroke:#666; stroke-width:1"/><circle
cx="45" cy="30" r="20" fill="#2ECC71" style="stroke:#000; stroke-
width:1"/><text id="timer_text" class="timer" x="30" y="32"
fill="#000000" font-size="9" font-weight="bold">00:10:30</text>
<circle id="svg_circle" cx="20" cy="70" r="15" fill="#ffffff"
style="stroke:#000; stroke-width:1"/><image
xlink:href="https://www.gstatic.com/webp/gallery3/1.png" x="0"
y="45" height="50px" width="50px"/></svg>'

}
marker = new google.maps.Marker({
position: map.getCenter(),
map: map,
icon: testIcon,
title: 'Hello World!'
});

}
google.maps.event.addDomListener(window, "load", initialize);

http://jsfiddle.net/k5cv8a8d/6/

最佳答案

您有两个问题

  1. # 字符是 reserved as the start of a fragment identifier因此,即使标记 URL 的非图像部分也是无效的。任何 # 个字符都应替换为 %23
  2. 图像不能有外部引用,因此您需要 base64 encode the inner png image所以图像会变成

    <image xlink:href="data:image/png;base64,iVBOR...etc" />

关于javascript - 将img嵌入svg标记内不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48354835/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com