单张路由机没有给出最佳路线(到目前为止)

时间:2017-11-08 14:51:09

标签: leaflet mapbox leaflet-routing-machine

尝试在我的宣传单地图上显示路线时遇到问题:

 AND EK_POS.art_nr              =
 ARTIKEL_Z.art_nr(+)   AND NVL
  (POS.pos_nr_zuo, 0) = (NVL (
      _EK_POS_PREIS.pos_nr_zuo(+), 0))  )

在第7个航点(Hanse),路线正在转弯,加上一千公里到达距离仅几公里的第8个点。

这里发生了什么?我无法弄明白。欢迎任何帮助!

1 个答案:

答案 0 :(得分:1)

欢迎来到SO!

这可以通过OSMR服务而不是Mapbox重现:

var map = L.map("map").setView([32.4513357, 77.860656], 10);

L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
  attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);

L.Routing.control({
  //router: L.Routing.mapbox(''),
  //profile: "mapbox/driving",
  addWaypoints: false,
  waypointMode: 'snap',
  routeWhileDragging: true,
  show: false,
  fitSelectedRoutes: false,
  plan: false,
  draggableWaypoints: false,
  lineOptions: {
    styles: [{
      color: 'black',
      opacity: 0.8,
      weight: 6
    }, {
      color: 'red',
      opacity: 1,
      weight: 2
    }]
  },
  waypoints: [
    /*L.Routing.waypoint(L.latLng(28.6114741, 77.2112497), "New Dehli"),
    L.Routing.waypoint(L.latLng(30.7304186, 76.7789926), "Chandigarh"),
    L.Routing.waypoint(L.latLng(31.1047637, 77.1717752), "Shimla"),
    L.Routing.waypoint(L.latLng(31.4493988, 77.629702), "Rampur"),
    L.Routing.waypoint(L.latLng(31.9755409, 78.5961753), "Changoa"),
    L.Routing.waypoint(L.latLng(32.2251899, 78.0610693), "Kaza"),*/
    L.Routing.waypoint(L.latLng(32.4513357, 77.860656), "Hanse"),
    L.Routing.waypoint(L.latLng(32.4386919, 77.7497997), "losar gompa"),
  ],

}).addTo(map);
#map {
  height: 200px;
}
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.2.0/dist/leaflet.css">
<script src="https://unpkg.com/leaflet@1.2.0/dist/leaflet-src.js"></script>
<link rel="stylesheet" href="https://unpkg.com/leaflet-routing-machine@3.2.7/dist/leaflet-routing-machine.css">
<script src="https://unpkg.com/leaflet-routing-machine@3.2.7/dist/leaflet-routing-machine.js"></script>

<div id="map"></div>

看起来OSM数据库认为在你到达点附近有一个“屏障”障碍(“losar gompa”):

Capture of OSM edit website near arrival point

如果汽车无法越过这种障碍物类型,那就可以解释为什么路由器需要另一条(非常长的......)路线。

如果您认为此障碍不再存在,请随时在OpenStreetMap上创建帐户并编辑地图! Mapbox路由器使用OSM数据的可能性非常高,因此您的修改将在稍后的Mapbox中反映出来。