GooglemapJavaScriptAPIV3。我的映射让我处理了多边形的概念,在我深入研究代码之前,我试图制定一个策略。我永远不会一次在map上有一个以上的多边形,所以我希望我可以定义一个多边形并像使用标记一样重复使用它。我的理解是否正确,多边形setPath();函数将移动多边形以表示新的点数组?文档说......“从MVCArray插入或删除LatLngs将自动更新map上的多边形。”但它并没有直接说你可以使用setPath();给它一个全新的点阵。我在用伪代码思考...//someeventfirespolygon.setPath(latlngArray);bounds=ne
我正在使用GoogleMapsAPIV3在Googlemap中绘制一些自由形式的多边形,而不是标准库附带的标准点击多边形。一切都很好。问题:多边形生成大量可编辑点。如何在需要时简化多边形并创建可编辑点?这里是我的代码:varlatlng=newgoogle.maps.LatLng(46.779231,6.659431);varoptions={center:latlng,zoom:19,mapTypeId:google.maps.MapTypeId.ROADMAP,draggable:false};varmap=newgoogle.maps.Map(document.getElemen
我正在Googlemap中通过可以拖动以reshape形状的标记构建多边形。因此,当有3个标记时,将绘制多边形,并在形状中附加更多标记,扩展它。当用户只想遵循简单的顺时针/逆时针模式时,这很好,但当他想通过其边缘之一扩展多边形时,它会附加标记,扭曲自身。在此示例中,如果我们添加标记1、2和3,它将绘制一个简单的三Angular形。但是,如果添加标记4,多边形就会自行扭曲。相反,我希望在添加4时将其插入标记1和2之间,如下图所示:基本上,在多边形的顶点数组中,而不是:[//marker1position,//marker2position,//marker3position,//curr
我正在使用Three.js根据用户提供的边数按程序生成常规N边形。长期目标是将此作为渲染多面体棱镜的第一步。我正在使用讨论的解决方案here计算N边形的顶点。然后我将使用讨论的技术here在N边形上生成面孔。我第一次尝试生成必要的Geometry对象,结果如下,在添加到Mesh后似乎没有渲染任何东西:functioncreateGeometry(n,circumradius){vargeometry=newTHREE.Geometry(),vertices=[],faces=[],x;//Generatetheverticesofthen-gon.for(x=1;x在玩弄它太久之后,我
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等建议的问题。您可以编辑问题,以便可以用事实和引用来回答它。去年关闭。Improvethisquestion我有多边形集。在这个集合中,有些是外部多边形,有些可能(或可能不是)是孔。在这个阶段我不知道哪些是多边形孔。我想计算结合所有多边形(包括孔)的最终多边形。我想到了这种方法://'SomeLib'thathaspolygonbooleanfucntionsvarpolygonSet=[poly1,poly2,...polyn];varunion,intersec
我正在使用Openlayers创建一个由来自KML文件的多边形组成的矢量图层,我需要对多边形应用“散列”模式(对Angular线条纹)。我知道Openlayers本身不支持将背景图像添加到矢量图层中的多边形,但我想知道是否有人对如何实现这一点有任何想法?矢量多边形的样式似乎仅限于纯色和不透明度。如果需要,我将通过在多边形边界内手动绘制散列线来扩展OpenLayers以添加此功能,但我希望在我走这条路之前有人能提供更简单的建议。 最佳答案 现在可以使用SLD完成此操作。不确定它是在2.11版还是主干开发中,但我看到了additionw
最近我一直在思考如何将复杂多边形转换为非复杂多边形。这是怎么做到的?这是我想做的事情:完成后我将以JavaScript结尾,但任何形式的解决方案都可以(语言、算法或简单的英语)。 最佳答案 我会使用与手动绘制多边形时相同的启发式方法(这可能不是计算该多边形的最有效的数学方法,但可能是最容易理解/实现的方法)。从一点开始找到我当前点和我试图到达的点之间的所有交点如果不存在则绘制到下一个点如果有,则绘制到那里,然后将下一个点设置为从那里开始的下一个点如果您还没有回到起点,则转到2。Hereisanexamplejsfiddle上的实现。
我正在尝试让鼠标悬停在googlemapsapiv3中处理多边形。我试过这篇文章中提供的答案:googlemapsv3APImouseoverwithpolygons?这个答案应该有效,但不适合我。谁能看出我辐条上的棍子?这是我的代码:html{height:100%}body{height:100%;margin:0px;padding:0px}#map_canvas{height:100%}GoogleMapsfunctioninitialize(){varmyLatlng=newgoogle.maps.LatLng(28,-81);varmyOptions={zoom:6,cen
我已经创建了一个Knockout绑定(bind),以便能够使用Googlemap切换KML层,但该解决方案似乎有点慢且“闪烁”。如何避免在每次切换时重新创建map和图层?可以找到正在运行的演示herevarViewModel=function(){varself=this;self.mapOptions={center:newgoogle.maps.LatLng(60.390791,5.306396),zoom:2};self.levels=[{text:"Type1",countries:ko.observableArray(['https://dl.dropbox.com/u/28
我有一张使用leaflet.js绘制的map。如果我将经度和纬度值作为输入我可以识别多边形吗?我可以为此获取客户端脚本吗? 最佳答案 得到的答案如下://这是基于'pointinpolygonalgorithm'functiongetPoint(){floatx=-89.82421875;//xandyrepresentsthelatandlngvaluesfloaty=40.18307014852533;vara=boundaries;//thecoordinatesusedtodrawthemapfor(i=0;i=pointY