Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么可以';我看不到这个svg中绘制的多边形,如何使它可见?_Javascript_Svg - Fatal编程技术网

Javascript 为什么可以';我看不到这个svg中绘制的多边形,如何使它可见?

Javascript 为什么可以';我看不到这个svg中绘制的多边形,如何使它可见?,javascript,svg,Javascript,Svg,背景:我让用户在GoogleMap上绘制,然后从中提取他们绘制的点,制作一个svg,用户可以在以后命名和引用。当这些图形足够大时,这似乎是可行的,但当它们非常小时(例如小公园周围的多边形),我似乎有一个问题 您可以在此处使用此版本: 当我去检查SVG中的实际多边形时,它们似乎被放置在viewBox中,我认为它们应该是可见的,但我无法让它们出现。当我将svgs笔划设置为大于0的任何宽度时,笔划将完全占据整个viewBox。我认为SVG是“可伸缩的”。关于非常小的十进制值或任何东西有一些规则吗?如果

背景:我让用户在GoogleMap上绘制,然后从中提取他们绘制的点,制作一个svg,用户可以在以后命名和引用。当这些图形足够大时,这似乎是可行的,但当它们非常小时(例如小公园周围的多边形),我似乎有一个问题

您可以在此处使用此版本:

当我去检查SVG中的实际多边形时,它们似乎被放置在viewBox中,我认为它们应该是可见的,但我无法让它们出现。当我将svgs笔划设置为大于0的任何宽度时,笔划将完全占据整个viewBox。我认为SVG是“可伸缩的”。关于非常小的十进制值或任何东西有一些规则吗?如果有的话,我在哪里可以找到这方面的参考资料

是否有办法在vanilla JS中缩放(或以其他方式固定)此svg中的多边形,使其在该svg中可见?

<svg
height="180px"
width="360px"
viewBox="
92.52881560431149
43.41319404777748
0.0024139881134033203
0.00027281812062796007

"><polygon points="
92.5290516387048,
43.41319404777748,
92.53095064268734,
43.4132456619112,
92.53122959242489,
43.413400504607246,
92.52903018103268,
43.41346686589811,
92.52881560431149,
43.4132087946678
"></polygon></svg>

注意:我已经编辑了此页上的间距,使其更易于阅读


如上所述,这在绿色的三角形上是如何工作的,但您可以看到我突出显示了在其他svg中不可见的矩形。

svg似乎有精度限制:“使用单精度浮点,SVG查看器无法正确绘制两个值之间的差值,该差值小于较大数值的1/4000000(约为22的幂的1/2)。实际上,很少有人能做到这一点。”


来源:

我无法识别多边形中x1、y1、x2、y2点值的语法。每个值以逗号结尾,而对X、Y必须用空格分隔character@MrJ我尝试删除逗号,但这似乎没有改变任何事情。我还有其他SVG有这样的逗号,它们确实出现了(但无论如何,我会考虑删除我的JS中的逗号,因为这会使它更难阅读,谢谢你向我指出这一点)缩放SVG的唯一方法是在viewBox值中[posX,posY,Width,Height];视图框的宽度、高度与css的宽度、高度进行缩放或缩小,您必须了解有关保留的信息​面貌​比率是的,我知道,当svg和/或viewBox太小时,似乎发生了一些事情。