在 google 地图上添加自定义 svg 层 (api v3)
add custom svg layer on google map (api v3)
问题来了,
我尝试在 google 地图上添加自定义图层 (svg)。
我选择的层非常简单,它只是一个 "rect" 但迟早这些会变得更加复杂,路径等等...但这实际上不是问题。
我终于可以在地图上添加 svg 并使其可见,
但是,由于 svg 不像图像标签,我无法找到 scale/size 带有 google 地图的 svg 的方法,就像简单图像一样...
这是一个 google 示例,当您缩放(鼠标滚轮)地图时,自定义叠加层尺寸也会发生变化:
https://developers.google.com/maps/documentation/javascript/examples/overlay-simple
而且,这是我尝试在地图上添加的 svg,您会注意到 div(容器)位于特定点 (lat/lng),并且可以使用鼠标滚轮正确缩放在地图上。但是,我试图添加到其中的 svg 层根本不在其中,并且不会在鼠标滚轮上缩放......这个 svg 层唯一好的一点是它正在使用地图拖动......
svg 图层应包含在定义的 div 中(有边界...)。 Svg 是一个简单的图层:
<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" class="svg-editor">
<g>
<rect id="svg_5" height="181" width="311" y="95.25" x="47.75" stroke-width="5" fill="#FF0000"/>
</g>
</svg>
这里是 fiddle :
http://jsfiddle.net/7b3byzrf/27/
感谢帮助!
如果你想让你的 svg 图片正确缩放,你需要
- a
viewBox
(你说了,这部分没问题)
- svg 元素中没有尺寸(这就是问题所在)。
删除那些行:
svg.setAttribute('width','400');
svg.setAttribute('height','400');
问题来了,
我尝试在 google 地图上添加自定义图层 (svg)。 我选择的层非常简单,它只是一个 "rect" 但迟早这些会变得更加复杂,路径等等...但这实际上不是问题。
我终于可以在地图上添加 svg 并使其可见, 但是,由于 svg 不像图像标签,我无法找到 scale/size 带有 google 地图的 svg 的方法,就像简单图像一样...
这是一个 google 示例,当您缩放(鼠标滚轮)地图时,自定义叠加层尺寸也会发生变化:
https://developers.google.com/maps/documentation/javascript/examples/overlay-simple
而且,这是我尝试在地图上添加的 svg,您会注意到 div(容器)位于特定点 (lat/lng),并且可以使用鼠标滚轮正确缩放在地图上。但是,我试图添加到其中的 svg 层根本不在其中,并且不会在鼠标滚轮上缩放......这个 svg 层唯一好的一点是它正在使用地图拖动......
svg 图层应包含在定义的 div 中(有边界...)。 Svg 是一个简单的图层:
<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" class="svg-editor">
<g>
<rect id="svg_5" height="181" width="311" y="95.25" x="47.75" stroke-width="5" fill="#FF0000"/>
</g>
</svg>
这里是 fiddle :
http://jsfiddle.net/7b3byzrf/27/
感谢帮助!
如果你想让你的 svg 图片正确缩放,你需要
- a
viewBox
(你说了,这部分没问题) - svg 元素中没有尺寸(这就是问题所在)。
删除那些行:
svg.setAttribute('width','400');
svg.setAttribute('height','400');