1 回答

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
您不必?cái)U(kuò)展 CircleMarker 類來添加更多選項(xiàng)。您可以按默認(rèn)方式執(zhí)行此操作:
var myMarker = L.circleMarker([point.lat, point.lng], {
title: 'unselected',
radius: 20,
first_market: loop_index == 0,
last_market: loop_index == points.length-1,
point_id: point.id,
prior_point_id: priorPoint ? priorPoint.id : null,
});
polylinePoints[polylinePoints.length]=如果沒有必要也不要使用。采用polylinePoints.push(
你想用折線上的數(shù)據(jù)做什么?為什么不將整個(gè)點(diǎn)數(shù)組添加到折線?
var polyline = new L.Polyline(polylinePoints, {
customData:{
points: points
}
});
否則,您可以創(chuàng)建一個(gè)點(diǎn) id 數(shù)組:
let polylinePoints= [] // I get all info about all Polylines
let loop_index = 0;
let pointIds = [];
points.forEach(point => {
pointIds.push(point.id);
//...
var polyline = new L.Polyline(polylinePoints, {
customData:{
points: pointIds
}
});
或者(我建議)將標(biāo)記添加到折線:
let markersForPoly = [];
points.forEach(point => {
//... Loop ...
myMarker.addTo(mymap);
markersForPoly .push(myMarker);
});
//.. Code
var polyline = new L.Polyline(polylinePoints, {
customData:{
points: markersForPoly
}
});
您可以在點(diǎn)擊偵聽器中獲得積分:
polyline.on('click', function (event) {
var layer = event.target;
var points = layer.options.customData.points;
console.log(points);
});
示例 https://jsfiddle.net/falkedesign/61sjx3bv/
添加回答
舉報(bào)