Я пытаюсь поместить буфер turfjs поверх моей листовки с координатами, которые я получаю из листовки OSRM.
Что я хотел бы сделать, это загрузить маршрут, а затем поместить буфер вокругМаршрут скажем в пределах 10 метров.Если в каком-либо месте этого буфера нажата кнопка, покажите дорогу, по которой они идут, и инструкции, которые прилагаются к ней.
Мне удалось получить маршрут и сохранить маршрут в формате геойсон.Что я не могу сделать, так это добавить его на карту и добавить щелчок для загрузки информации о функции.
Код для получения маршрута:
function getroute() {
myroutewithout = L.Routing.control({
waypoints: [
L.latLng(window.my_lat, window.my_lng),
L.latLng(window.job_p_lat, window.job_p_lng)
],show: true, units: 'imperial',
router: L.Routing.mapbox('CODE-HERE'),
createMarker: function(i, wp, nWps) {
if (i === 0 || i === nWps + 1) {
// here change the starting and ending icons
return mymarker = L.marker(wp.latLng, {
icon: window.operatorIcon
});
} else {
// here change all the others
return job_start = L.marker(wp.latLng, {
icon: window.jobIcon
});
}
}
}).addTo(map);
Код для сохранения каждого битаданные с маршрута:
myroutewithout.on('routeselected', function(e) {
var coord = e.route.coordinates;
var instr = e.route.instructions;
L.geoJson(GeoJson(instr,coord), {onEachFeature: onEach}).addTo(map);
});
function GeoJson(instr,coord) {
var formatter = new L.Routing.Formatter();
var instrPts = {
type: "FeatureCollection",
features: []
};
for (var i = 0; i < instr.length; ++i) {
var g = {
"type": "Point",
"coordinates": [coord[instr[i].index].lng, coord[instr[i].index].lat]
};
var p = {
"instruction": formatter.formatInstruction(instr[i])
};
instrPts.features.push({
"geometry": g,
"type": "Feature",
"properties": p
});
var point = turf.point([coord[instr[i].index].lng, coord[instr[i].index].lat]);
var buffered = turf.buffer(point, 500, {units: 'meters'});
//addToMap
var addToMap = [point, buffered];
console.log(addToMap);
}
window.instrPts = instrPts;
return instrPts
}
function onEach(feature, layer) {
layer.bindPopup(feature.properties.instruction);
}
Итак, там я сохранил все, что мне кажется необходимым, но я заблудился относительно того, как разместить на карте и добавить функцию щелчка?
Любые идеи, пожалуйста, спасибо