Got một câu trả lời như sau:
// Đây là dựa vào 'điểm trong thuật toán đa giác'
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
}
}
bạn cần phải cung cấp giá trị lat và lng cho đa giác shape.if bạn đưa ra một lng lat giá trị nó sẽ represnt các dot.while cung cấp cho nhiều lat lng nó ll vẽ polygon.starting và kết thúc lat lng nên giống nhau. – tamilmani
Có, hãy tìm một thuật toán trắc địa trắc địa (PIP). – pp19dd
Tôi có một bản đồ được vẽ bằng cách sử dụng một số giá trị lat và lng. Nhưng bây giờ tôi muốn biết id đa giác từ một tập hợp giá trị lat và lng. – Sudha