草庐IT

r sf 包质心在多边形内

全部标签

javascript - 如何使用 Google Maps API 跟踪多边形的事件更改

我目前正在为我们正在开发的网站构建“搜索区域”功能。有点像Rightmove上的那个.除了跟踪事件对多边形的更改(新点的设置和现有点的更改)之外,我已经启动并运行了所有功能。我需要能够将坐标发布到表单中以供提交。我已经尝试了editingevents的Google代码文档.每次尝试时,我都会收到有关“set_at”无法实现或我的对象未定义的消息。我想我知道的错误是thePolygon变量没有被传递给新的google.maps.event.addListener(thePolygon,'set_at',function(){//grabpathsforinfoWindowgrabPath

javascript - 在 JavaScript 中查找多边形的中心点

我有一个来自Googlemap的“地点”对象,它有一组坐标表示给定位置的边界框,比如伦敦。每组坐标都有一个纬度和经度。我写了下面的代码来找到中心点,但我不确定它是否真的产生了中心点。如果多边形有5个点而不是4个怎么办?另外,这是否可以通过更少的操作以更有效的方式完成?functionaverage(array){//Addtogetherandthendividebythelengthreturn_.reduce(array,function(sum,num){returnsum+num;},0)/array.length;}//Ihaveatwo-dimensionalarrayth

javascript - 遍历六边形

我可以很容易地从左到右遍历以下内容,但是我遇到了很多麻烦(2天了,没有任何进展)得到一个从右上角和右下角遍历它的公式。基本上,我正在寻找一个可以检索以下值的公式:lettopRight=[[h[2][4],h[3][3],h[4][2]],[h[1][3],h[2][3],h[3][2],h[4][1]],[h[0][2],h[1][2],h[2][2],h[3][1],h[4][0]],[h[0][1],h[1][1],h[2][1],h[3][0]],[h[0][0],h[1][0],h[2][0]]]letbottomRight=[[h[2][4],h[1][3],h[0][2]

javascript - 动态调整和拖动 SVG 多边形

我正在努力寻找一种方法来使用鼠标动态调整和拖动svg多边形的大小。不幸的是,jQueryUi不适用于svg元素。我还检查了Raphael库,但找不到任何关于如何实现这一点的文档/片段。除了使用SVG之外,还有其他方法可以动态调整和拖动多边形图形吗? 最佳答案 您可以自己使用SVG元素。特别是,您可以找到多边形的点并添加可使用jQuery拖动的HTML元素句柄。(我假设您遇到的问题是jQueryUI不适用于SVG定位模型。)这是我刚刚编写的完整示例(在Safari5和Firefox9中测试)。(免责声明:我不是jQuery的普通用户;

javascript - 缩放多边形使边匹配

我正在使用JavaScriptCanvas处理一个项目,需要能够将光标捕捉到距多边形一定距离的位置。我已经可以捕捉到多边形本身,但我需要将光标移得更远。据我所知,最好的方法是缩放多边形并捕捉到它,但是当我缩放多边形时,旧多边形的边缘和新多边形的边缘之间的距离不会t总是匹配。这里是问题的一个例子:编辑:灰色代表原始多边形,红色是我正常缩放多边形时得到的结果,绿色是我想要完成的我已经尝试过将多边形平移到原点并乘以比例因子,但似乎无法按特定距离缩放每条边。 最佳答案 我做了一个jsFiddle对于给定的多边形,计算出一个我希望能满足您要求

javascript - 如何使用 leaflet.draw 从多边形获取区域字符串

我正在尝试获取多边形的面积测量值,以便我可以将它们列在map一侧的表格中,紧挨着多边形的名称。这是我尝试过但没有成功的方法:$("#polygon").on("click",function(){createPolygon=newL.Draw.Polygon(map,drawControl.options.polygon);createPolygon.enable();}varpolygon=newL.featureGroup();map.on('draw:created',function(e){vartype=e.layerType,layer=e.layer;if(type===

javascript - 在 Leaflet LayerGroup 中查找特定图层,其中图层是多边形

我正在尝试像这样定义一堆Leaflet多边形:varpoly=newL.Polygon([[10.1840229,36.8906981],[10.1840393,36.8906669],[10.1840989,36.8906868],[10.1840826,36.890718],[10.1840229,36.8906981]],{'id':'someId'});然后我将这些多边形分组到一个GroupLayer中:vargroup=newL.LayerGroup([poly1,poly2,...,polyn]);group.addTo(map);我可以使用group.getLayer()

javascript - 计算多边形面积

所以我在javascript中得到了这个代码来计算来自网络的不规则多边形面积。functionpolygonArea(X,Y,numPoints){area=0;//Accumulatesareaintheloopj=numPoints-1;//Thelastvertexisthe'previous'onetothefirstfor(i=0;i结果似乎是正确的。如果顺时针方向追踪顶点,它将显示正结果,但如果我逆时针方向追踪顶点,它将变为负数。为什么会这样?这个算法是如何工作的?我真的很想知道它背后的数学解释是什么,因为我仍然很难理解网上的解释。 最佳答案

javascript - 如何检测可编辑多边形何时被修改?

如何检测可编辑多边形何时被修改(移动点、添加点、删除点)或拖动?GoogleMapsAPI文档仅列出鼠标eventsforPolygons. 最佳答案 Polygons由路径组成,这些路径只是MVCArrays(在这种情况下,它们是LatLng对象的列表)。MVCArrays有三个事件:insert_at、remove_at和set_at。我们可以使用这些事件来检测多边形点的变化。还有drageventsforpolygons:dragstart、drag和dragend。如果您想知道刚刚拖动了一个形状,最好听取dragend。总而

javascript - 如何在 JavaScript 中围绕多段线绘制多边形?

我想围绕折线绘制多边形。在我的案例中,多段线是谷歌地图的方向,我需要在谷歌地图Canvas中围绕它显示一个多边形。首先:为了偏移,我使用了JavaScriptClipper库。我有以下折线(路线):我使用Clipper在下面制作了一个偏移多边形:我有一个工作JSBinexample.代码是:JavascriptClipperLibrary/Offsetpolylinefunctiondraw(){varpolygons=[[{"X":72,"Y":59.45},{"X":136,"Y":66},{"X":170,"Y":99},{"X":171,"Y":114},{"X":183,"Y