我开始使用插件来构建我正在构建的webapp,这个应用程序使用的是openstreetmaps,适用于委内瑞拉,但我遇到了问题,因为当我尝试在高速公路上绘制一条有桥梁的路线时,只走在它下面或附近的街道。任何人都可以帮助我吗?
路由器功能与插件在示例中的功能相同:
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));
});
}
它有效,但正如我所说,桥梁没有。
答案 0 :(得分:0)
已经完成了!问题是在var route = 'http://www.yournavigation.org/api/1.0/gosmore.php&format=geojson&v=foot&fast=1&layer=mapnik';
中,参数 v 是运输的类型,并且设置在脚上,当我尝试在桥上绘制路线时高速公路,只走了街道。
我将其改为v=motorcar
并且完美无缺!我在www.yournavigation.org的文档中找到了答案,这个问题就解决了。
我还要尝试使用其他在线路由器。