Javascript Polymaps svg映射容器默认为300px x 150px,不能以其他方式设置
我在Polymaps中发现了一个bug,但还没有找到确切的原因。最近的某个时候,我的Polymaps.js(2.5.1))的本地副本不再显示容器的完整大小的地图,而是只显示300px 150px的视图。我在Polymaps.org网站上也看到了这种行为 CSS样式表具有:Javascript Polymaps svg映射容器默认为300px x 150px,不能以其他方式设置,javascript,polymaps,Javascript,Polymaps,我在Polymaps中发现了一个bug,但还没有找到确切的原因。最近的某个时候,我的Polymaps.js(2.5.1))的本地副本不再显示容器的完整大小的地图,而是只显示300px 150px的视图。我在Polymaps.org网站上也看到了这种行为 CSS样式表具有: div#map { position: relative; border: solid 4px #ccc; background: #eee; width: 1800px; height: 800px; }
div#map {
position: relative;
border: solid 4px #ccc;
background: #eee;
width: 1800px;
height: 800px;
}
HTML页面有:
<div id="map"></div>
结果0:
<svg class="map">
<rect visibility="hidden" pointer-events="all" width="300" height="150"></rect>
结果1:
<svg class="map">
<rect visibility="hidden" pointer-events="all" width="1600" height="1000"></rect>
Polymaps似乎是通过推断SVGAnimatedLength的某个默认值来获取贴图大小,而不是选择容器大小或正确使用map.size()函数。我的猜测是SVG标准或实现在某种程度上发生了变化,Polymaps无法处理它(现在是2011年的代码)
有人能帮忙找出问题所在吗?最好把它修好!非常感谢。
谢谢
杰米我也看到了这一点,我也有同样的问题 我在样式表中修复了它,方法是为容器提供全宽,然后将map类设置为相同的大小——注意svg包装器具有map类
#vipMap,#vipMap.map{宽度:998px;高度:400px;背景:#666;}
#vipMap{边框:1px实心#CCC;位置:相对;溢出:隐藏;}
.size({"x": 1600, "y": 1000})
<svg class="map">
<rect visibility="hidden" pointer-events="all" width="1600" height="1000"></rect>
<svg class="map">
<svg class="map" style="
width: 1100px;
height: 700px;
">
<rect visibility="hidden" pointer-events="all" width="1600" height="1000"></rect>
x: svg
attributes: NamedNodeMap
.
.
.
height: SVGAnimatedLength
animVal: SVGLength
baseVal: SVGLength
unitType: 2
value: 150
valueAsString: "100%"
valueInSpecifiedUnits: 100
__proto__: SVGLength
__proto__: SVGAnimatedLength
.
.
.
width: SVGAnimatedLength
animVal: SVGLength
unitType: 2
value: 300
valueAsString: "100%"
valueInSpecifiedUnits: 100
__proto__: SVGLength
baseVal: SVGLength
__proto__: SVGAnimatedLength