7
我有一张使用leaflet.js绘制的地图。如果我输入经度和纬度值 我可以识别多边形吗?我可以为此获得客户端脚本吗?确定哪个是来自经纬度的多边形
我有一张使用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
}
}
你需要给多边形纬度和经度值shape.if你给一个纬度经度“多边形算法点”值将代表点。同时给予更多的经度,它将绘制多边形。开始和结束经纬度应该是相同的。 – tamilmani 2013-03-27 05:28:21
是的,查找一个大地测量点多边形(PIP)算法。 – pp19dd 2013-03-27 05:33:52
我使用一些lat和lng值设置了一张地图。但是现在我想知道一组lat和lng值中的多边形ID。 – Sudha 2013-03-27 05:34:34