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