使用 Turistforeningen/leaflet-routing 在委内瑞拉的 OpenStreetMaps 上绘图

Drawing on OpenStreetMaps of Venezuela with Turistforeningen/leaflet-routing

我开始将插件用于我正在构建的网络应用程序,该应用程序使用 openstreetmaps 并且适用于委内瑞拉,但我遇到了问题,因为当我尝试在高速公路上绘制一条路线时桥梁,只走它下面或附近的街道。谁能帮帮我?

router功能与示例中插件自带的一样:

OSM Router
                router = function(m1, m2, cb) {
                  var proxy = 'http://www2.turistforeningen.no/routing.php?url=';
                  var route = 'http://www.yournavigation.org/api/1.0/gosmore.php&format=geojson&v=foot&fast=1&layer=mapnik';
                  var params = '&flat=' + m1.lat + '&flon=' + m1.lng + '&tlat=' + m2.lat + '&tlon=' + m2.lng;
                  $.getJSON(proxy + route + params, function(geojson, status) {
                    if (!geojson || !geojson.coordinates || geojson.coordinates.length === 0) {
                      if (typeof console.log === 'function') {
                            console.log('OSM router failed', geojson);
                      }
                      return cb(new Error());
                    }
                    return cb(null, L.GeoJSON.geometryToLayer(geojson));
                  });
                }

它有效,但正如我所说,桥接无效。

WithGoogleMaps

WithOpenStreetsMaps

完成!问题是在 var route = 'http://www.yournavigation.org/api/1.0/gosmore.php&format=geojson&v=foot&fast=1&layer=mapnik'; 中,参数 v 是交通类型,设置在 foot 上,当我试图画一个路线过桥有高速公路,只走几条街。

我将其更改为 v=motorcar 并且工作完美!我在www.yournavigation.org的文档中找到了答案,这个问题就解决了。

我仍然会尝试使用其他在线路由器。