я боролся с этим некоторое время,
поэтому мне нужно задать два вопроса.
Первый вопрос: я не могу сменить профиль на сервисе открытого маршрута.
мой код работает, когда я вставляю api-ключ в коде ниже.
var control;
function tests() {
var control = L.Routing.control({
waypoints: [
L.latLng(coords),
L.latLng(coords2)
],
router: new L.Routing.openrouteservice('Api-Key'),
}).addTo(map);
document.getElementById("RouteButton").onclick = tests;
};
Но когда я пытаюсь изменить профиль, он либо не меняется, либо не выдает сообщения об ошибках.
То, что я до сих пор пробовал, это.
router: new L.Routing.openrouteservice({api_key:'HIDDEN', profile:'footwalking'),
и
router: new L.Routing.openrouteservice('https:// api.openrouteservice.org /directions? & api_key = Hidden& profile = foot-walking'),
Первый работает, но профиль не меняется. Он по-прежнему использует профиль по умолчанию для вождения автомобиля.
Второй дает мне два сообщения об ошибке,
Первое сообщение об ошибке | Доступ к XMLHttpRequest в «https://api.openrouteservice.org/directions?' из источника» http://localhost:8000' был заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». |
Второе сообщение об ошибке | corslite.js: 87 GET https://api.openrouteservice.org/directions? 403 (запрещено) |
оба сообщения об ошибках выделяют длинный URL, который был сокращен до https://api.openrouteservice.org/directions?.
Другой вопрос, который я получил, - как очистить карту, чтобы ранее нарисованный маршрут удалялся при рисовании нового маршрута. На рисунке ниже вы можете увидеть, что происходит в тот момент, когда я запрашиваю второй маршрут, показанный как старый, так и новый.
два маршрута на одной карте
Надеюсь, вы, ребята, можете помочь.