If a track contains waypoints, they are set to the router
This commit is contained in:
parent
ee54d45790
commit
ff1499c62b
2 changed files with 25 additions and 5 deletions
|
|
@ -271,7 +271,7 @@
|
||||||
BR.stravaSegments(map, layersControl);
|
BR.stravaSegments(map, layersControl);
|
||||||
}
|
}
|
||||||
|
|
||||||
BR.tracksLoader(map, layersControl);
|
BR.tracksLoader(map, layersControl, routing);
|
||||||
|
|
||||||
map.addControl(
|
map.addControl(
|
||||||
new BR.OpacitySliderControl({
|
new BR.OpacitySliderControl({
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
BR.tracksLoader = function(map, layersControl) {
|
BR.tracksLoader = function(map, layersControl, routing) {
|
||||||
TracksLoader = L.Control.FileLayerLoad.extend({
|
TracksLoader = L.Control.FileLayerLoad.extend({
|
||||||
options: {
|
options: {
|
||||||
layer: L.geoJson,
|
layer: L.geoJson,
|
||||||
|
|
@ -49,9 +49,29 @@ BR.tracksLoader = function(map, layersControl) {
|
||||||
tracksLoaderControl.addTo(map);
|
tracksLoaderControl.addTo(map);
|
||||||
|
|
||||||
tracksLoaderControl.loader.on('data:loaded', function(event) {
|
tracksLoaderControl.loader.on('data:loaded', function(event) {
|
||||||
var layer = event.layer;
|
var eventLayer = event.layer;
|
||||||
layersControl.addOverlay(layer, event.filename);
|
let routingMarkers = [];
|
||||||
layer.addTo(map);
|
for (let layerIdx = 0; layerIdx < eventLayer.getLayers().length; layerIdx++) {
|
||||||
|
const layer = eventLayer.getLayers()[layerIdx];
|
||||||
|
if (layer.feature && layer.feature.properties && layer.feature.properties.type) {
|
||||||
|
const layerType = layer.feature.properties.type;
|
||||||
|
if (layerType === 'from' || layerType === 'via' || layerType === 'to') {
|
||||||
|
routingMarkers.push(layer.getLatLng());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (routingMarkers.length > 0) {
|
||||||
|
routing.setWaypoints(routingMarkers, function(event) {
|
||||||
|
var err = event.error;
|
||||||
|
BR.message.showError(
|
||||||
|
i18next.t('warning.tracks-load-error', {
|
||||||
|
error: err && err.message ? err.message : err
|
||||||
|
})
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
layersControl.addOverlay(eventLayer, event.filename);
|
||||||
|
eventLayer.addTo(map);
|
||||||
});
|
});
|
||||||
|
|
||||||
tracksLoaderControl.loader.on('data:error', function(event) {
|
tracksLoaderControl.loader.on('data:error', function(event) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue