我正在尝试像这样定义一堆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中得到了这个代码来计算来自网络的不规则多边形面积。functionpolygonArea(X,Y,numPoints){area=0;//Accumulatesareaintheloopj=numPoints-1;//Thelastvertexisthe'previous'onetothefirstfor(i=0;i结果似乎是正确的。如果顺时针方向追踪顶点,它将显示正结果,但如果我逆时针方向追踪顶点,它将变为负数。为什么会这样?这个算法是如何工作的?我真的很想知道它背后的数学解释是什么,因为我仍然很难理解网上的解释。 最佳答案
如何检测可编辑多边形何时被修改(移动点、添加点、删除点)或拖动?GoogleMapsAPI文档仅列出鼠标eventsforPolygons. 最佳答案 Polygons由路径组成,这些路径只是MVCArrays(在这种情况下,它们是LatLng对象的列表)。MVCArrays有三个事件:insert_at、remove_at和set_at。我们可以使用这些事件来检测多边形点的变化。还有drageventsforpolygons:dragstart、drag和dragend。如果您想知道刚刚拖动了一个形状,最好听取dragend。总而
我想围绕折线绘制多边形。在我的案例中,多段线是谷歌地图的方向,我需要在谷歌地图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
任何人都知道如何检查是否在圆或多边形内单击了鼠标。我的问题是我想检查鼠标是否在圆圈或多边形内被点击。圆或多边形坐标已存储在数组中。非常感谢任何帮助 最佳答案 根据someotheranswers的建议,我点击了一些链接和foundtheccodehere.这是用于查找点是否在多边形中的JavaScript翻译Copyright(c)1970-2003,Wm.RandolphFranklinPermissionisherebygranted,freeofcharge,toanypersonobtainingacopyofthissof
大约一周前,我遇到了一个问题:在自定义的googlemap上,我的多边形不会显示,而相同坐标的标记完全可以。尽管我努力使用GoogleMapsAPI,但似乎找不到原因。Hereisalinktoascreenshotofthemap.紫色箭头和数字是我添加的,它们显示:我可以将google.maps.Marker放在我的“区域”的边缘。google.maps.Polygon代码生成的工件。正如预期的那样,它是红色的,但完全不合适,而且出奇地扁平。这是生成标记和多边形的代码部分:varregionData=tecMap.regions[r];varregionMapMarkers=new
如何以编程方式使用开放层3绘制多边形?我有一个json数组坐标:[{"lng":106.972534,"lat":-6.147714},{"lng":106.972519,"lat":-6.133398},{"lng":106.972496,"lat":-6.105892}]现在我想使用开放图层在map上绘制它。怎么做? 最佳答案 您需要使用ol.geom.Polygon构造函数。该构造函数需要一个环数组,每个环都是一个坐标数组。在您的情况下,这就是您创建多边形的方式(假设您的lnglat对数组名为a)://Aringmustbec
我正在使用googlemapsv3API创建map。使用绘图管理器绘制形状。有没有办法在绘制1个多边形后禁用多边形按钮?我一直在阅读API,但找不到任何关于多边形开始的事件,只有polygoncomplete。也许是一种检测绘图模式变化的方法?或删除google.maps.drawing.OverlayType.POLYGON但如果当前多边形已删除则将其放回原处? 最佳答案 documentation.从thissample开始.在polygoncomplete事件中隐藏绘图控件drawingManager.setOptions({
我试过这些不同的方法,但似乎没有任何效果。这是我目前拥有的:varvis=d3.select("#chart").append("svg").attr("width",1000).attr("height",667),scaleX=d3.scale.linear().domain([-30,30]).range([0,600]),scaleY=d3.scale.linear().domain([0,50]).range([500,0]),poly=[{"x":0,"y":25},{"x":8.5,"y":23.4},{"x":13.0,"y":21.0},{"x":19.0,"y":1
我有一个用户可编辑的谷歌地图,用户可以使用绘图管理器在map上绘制覆盖多边形。这工作正常,控制台记录了我需要的经纬度。但是,我需要添加一个按钮来清除多边形的map,以便在出现错误时可以重新绘制。下面粘贴我的实现代码:geocoder=newgoogle.maps.Geocoder();varlatlng=newgoogle.maps.LatLng(,);varmyOptions={zoom:,center:latlng,mapTypeId:google.maps.MapTypeId.ROADMAP};varmap=newgoogle.maps.Map(document.getEleme