Добрый день!
Существует задача интегрировать на сайт карту mapbox, но для построения маршрута использовать апи Яндекс.карт ( а именно route)
Необходимо передать в метод mapbox массив координат, полученных с помощью метода route.
Собственно, код.
<script src='https://api.mapbox.com/mapbox-gl-js/v0.26.0/mapbox-gl.js'></script>
<link href='https://api.mapbox.com/mapbox-gl-js/v0.26.0/mapbox-gl.css' rel='stylesheet' />
<div id='map' style='width: 700px; height: 400px;'></div>
<script>
ymaps.ready(function () {
mapboxgl.accessToken = 'pk.eyJ1Ijoic2VyZ2V5MTk5MiIsImEiOiJjaXVrNGY4MGIwMDBkMnl1bW44YnMxMnpxIn0.Tyh-oxTXc1sa8GggiWdKIA';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/light-v9',
center: [30.523541, 50.450418],
zoom: 7
});
//построение маршрута.
ymaps.route([
[50.450418, 30.523541],
[49.992167, 36.231202]
], {
multiRoute: false,
routingMode: 'auto',
mapStateAutoApply: true
}).done(function (route) {
var coords = [];
var way, segments;
for (var i = 0; i < route.getPaths().getLength(); i++) {
way = route.getPaths().get(i);
segments = way.getSegments();
for (var j = 0; j < segments.length; j++) {
coords = segments[j].getCoordinates().reverse();
//console.log('coords', coords);
console.log('rev', coords);
}
}
map.on('load', function () {
//добавляем путь на карту
map.addSource("route", {
"type": "geojson",
"data": {
"type": "Feature",
"properties": {},
"geometry": {
"type": "LineString",
"coordinates": [
// вот сюда нужно передать массив координат
]
}
}
});
map.addLayer({
"id": "route",
"type": "line",
"source": "route",
"layout": {
"line-join": "round",
"line-cap": "round"
},
"paint": {
"line-color": "#FF0000",
"line-width": 3
}
});
}); //map.on
});
}); //ymaps.readyПочему-то метод addSource не хочет "получить" массив координат.
Буду рад хоть каким-то мыслям.
Спасибо