SVG 图标标记不显示在 IE11、iPad 中

Posted

技术标签:

【中文标题】SVG 图标标记不显示在 IE11、iPad 中【英文标题】:SVG icon marker doesn't display in IE11, iPad 【发布时间】:2015-01-11 16:09:47 【问题描述】:

我使用 SVG sprite 创建标记。

var 标记 = 新的 google.maps.Marker(
    位置:新 google.maps.LatLng(纬度,经度),
    地图:地图,
    动画:google.maps.Animation.DROP,
    zIndex:google.maps.Marker.MAX_ZINDEX + 1,
    图标: 
        url: "myServer/mysprite.svgz",
        尺寸:新的 google.maps.Size(48, 51),
        来源:新的 google.maps.Point(9610, 0)
    
)

在我初始化地图后,添加标记,在 IE11 中它根本没有出现。在 iPad 上它可能会立即出现 消失。

在 Chrome、FF、IE9、10 - 显示标记。

我可以使用 SVG sprite 创建标记图像,使用 google maps API 来支持 IE11 和 Safari/iPad,或任何其他 cmets?

谢谢, 罗马。

【问题讨论】:

【参考方案1】:

您应该为标记图标设置scaledSize 属性。

icon: 
  url: "myServer/mysprite.svgz",
  size: new google.maps.Size(48, 51),
  scaledSize: new google.maps.Size(48, 51),
  origin: new google.maps.Point(9610, 0)                        

【讨论】:

以上是关于SVG 图标标记不显示在 IE11、iPad 中的主要内容,如果未能解决你的问题,请参考以下文章

使用内联svg时,chrome中不显示单个图标

IE10 和 11 中缩放 SVG 的奇怪边距

图标字体在 ie11 中不可见

使用动态 SVG 元素时 IE 11 “崩溃”

链接中的 SVG 跨度在 IE 中不起作用

图标在 Chrome 和 firefox 中显示,但在 IE 中不显示