Javascript 识别点(x,y)在svg路径内部或外部
我已经关闭了这个国家的省份 如何通过javascript识别SVG路径内或外部的点(x,y)?调用文档。。如果位置在路径中,那么它将返回该元素。如果路径未填充,则可能需要调整属性,使其正常工作。其中包括路径和基本形状以及方法。它们返回给定点是在笔划中还是在填充中 例如:Javascript 识别点(x,y)在svg路径内部或外部,javascript,svg,Javascript,Svg,我已经关闭了这个国家的省份 如何通过javascript识别SVG路径内或外部的点(x,y)?调用文档。。如果位置在路径中,那么它将返回该元素。如果路径未填充,则可能需要调整属性,使其正常工作。其中包括路径和基本形状以及方法。它们返回给定点是在笔划中还是在填充中 例如: const svg=document.getElementById(“您的svg”); const path=document.getElementById(“您的路径”); //根据MDN,不推荐使用SVGPoint 设po
const svg=document.getElementById(“您的svg”);
const path=document.getElementById(“您的路径”);
//根据MDN,不推荐使用SVGPoint
设point=svg.createSVGPoint();
点x=40;
点y=32;
//或者根据MDN
//设点=新点(40,32);
console.log(path.isPointInStroke(point));//真相大白
console.log(path.ispointinull(point));//显示false
您可以尝试检查这个问题,我不能使用raphael或其他库。这里有一个解决方案,它在IE或Edge中不起作用。它只会返回整个SVG。您可以尝试@Hack5,您需要使用掩码在元素上调用它,不是掩码。未捕获类型错误:未能在“SVGGeometryElement”上执行“isPointInFill”:参数1不是“SVGPoint”类型。
Chrome似乎期待的不是MSDN所说的。@Arlo感谢您指出这一点。我改变了我的答案,这应该可以在Chrome中使用(未测试,我不使用Chrome)。