我有一张使用leaflet.js绘制的地图.如果我给出经度和纬度值作为输入
我可以识别多边形吗?我可以为此获得客户端脚本吗?
我可以识别多边形吗?我可以为此获得客户端脚本吗?
解决方法
得到的答案如下:
//这是基于’多边形点算法’
function getPoint () { float x=-89.82421875; //x and y represents the lat and lng values float y= 40.18307014852533; var a = boundaries; //the coordinates used to draw the map for (i = 0; i < a.features.length; i++) { PointInpolygon(x,y,a.features[i].geometry.coordinates[0],i); } }; function PointInpolygon(pointX,pointY,_vertices,number) { var j = _vertices.length - 1; var oddNodes = false; var polyX,polyY,polyXJ,polyYJ; for (var i = 0; i < _vertices.length; i++) { polyY = parseFloat(_vertices[i].toString().split(",")[1]); polyX = parseFloat(_vertices[i].toString().split(",")[0]); polyXJ = parseFloat(_vertices[j].toString().split(",")[0]); polyYJ = parseFloat(_vertices[j].toString().split(",")[1]); if (polyY < pointY && polyYJ >= pointY || polyYJ < pointY && polyY >= pointY) { if (polyX + (pointY - polyY) / (polyYJ - polyY) * (polyXJ - polyX) < pointX) { oddNodes = !oddNodes; } } j = i; } if (oddNodes == true) { map._layers[number+1].fire('click'); //fire the map click event } }
原文地址:https://www.jb51.cc/js/157752.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。