假设我有一个 Map 应用程序,我正在创建一些外部用户数据的标记 . 用户可以定义他们想要用作标记图标的自定义图像的路径 . 我的问题是svg文件 . 通过阅读相关的stackoverflow线程并尝试建议的解决方案后,我仍然无法在Firefox和IE上工作 .
有人说Google Maps API不支持外部svg文件作为图标,使其工作的唯一方法是使用路径表示法,但有些人说可以使用外部文件,但使用google.maps.Icon对象 .
问题:在那个时间点,我们是否可以使用外部svg作为标记图标以及如何使用外部svg .
这是一个简单的例子链接到我的fiddle .
我正在创建如下标记
marker = new google.maps.Marker({
position: {
lat: -34.397,
lng: 150.644
},
title: 'SVG Marker',
icon: {
url: 'https://cdn.shopify.com/s/files/1/0250/8090/files/R_final.svg',
anchor: new google.maps.Point(10, 10),
//scaledSize: new google.maps.Size(20, 20),
size: new google.maps.Size(50, 50)
},
map: map
});
Chrome - 有效 .
Firefox,IE - 标记不显示 .
如果我取消注释scaleSize属性,我对IE进行了奇怪的缩放 . Firefox仍然无法显示 .
路径符号对我来说似乎不是一个选项,只要你能指出我从文件中提取它的方式 .
感谢您对此的意见 .
1 回答
至少对于Firefox,取消注释scaledSize,并将此属性添加到标记:
这仍然适用于Chrome,但我无法在IE上测试它 .
你可以在my fiddle看到它 .
注意:我调整了你的(没有回调/异步/延迟,并立即调用initMap),因为它甚至没有在Firefox上显示 Map .