Использование службы маршрутизации ESRI с машиной маршрутизации листовок - PullRequest
0 голосов
/ 08 июня 2018

Итак, я пытаюсь использовать службу маршрутизации ESRI на карте Leaflet, используя https://github.com/jgravois/lrm-esri, и получаю ошибку, с которой, возможно, кто-то может мне помочь.Даже используя код, предоставленный в git, я все еще, кажется, получаю ошибку, казалось бы, она работала за один раз.

{status: -3, message: "TypeError: Cannot read property 'lat' of undefined"}

вот js

var control = L.Routing.control({
waypoints: [
    L.latLng(28.4644,-99.0236),
    L.latLng(28.4758,-98.6424)
],
router: L.Routing.esri({
//this is a sample service, i am using one i created using private roads
  serviceUrl: 'https://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Network/USA/NAServer/Route'

}),
  geocoder: L.Control.Geocoder.nominatim(),
  routeWhileDragging: true,
  reverseWaypoints: true
}).addTo(map);

L.Routing.errorControl(control).addTo(map);

Кто-нибудь недавно заставил lrm-esri работать?Служба работает для решения маршрута, но это должен быть способ, которым JS передает лат-лонги в службу?

1 Ответ

0 голосов
/ 08 июня 2018

это может быть опечатка, но ваши широта / долгота поменялись местами

L.latLng(28.4644,-99.0236),
L.latLng(28.4758,-98.6424)

как только это исправлено, вы правы, что sampleserver3 решает маршрут, но по какой-то причинеcors-lite выдает ошибку немедленно, еще до того, как ответ может быть даже проанализирован.

Одна вещь, которую я знаю об этом сервере, состоит в том, что он действительно не поддержка CORS .Я просто догадываюсь, но, возможно, для поддержки междоменных запросов, которые она допускает в древних браузерах, требуется поддержка CORS на сервере (и она также отсутствует в вашей собственной внутренней службе).

из-за этого вам лучше всего попытаться либо добавить поддержку CORS в свою собственную службу маршрутизации, либо заменить другую зависимость вместо cors-lite.

...