Javascript 地图盒线串沿着这条路走

Javascript 地图盒线串沿着这条路走,javascript,map,gps,mapbox,Javascript,Map,Gps,Mapbox,我有一组GPS位置,我用mapbox放在地图上,然后在点之间画一条线 有没有办法沿着道路划出一条平滑的/情报线?而不是我在图纸上看到的 <!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>Single marker</title> <meta name='viewport' content='initial-scale=1,maximum-scale=

我有一组GPS位置,我用mapbox放在地图上,然后在点之间画一条线

有没有办法沿着道路划出一条平滑的/情报线?而不是我在图纸上看到的

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Single marker</title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<script src='https://api.tiles.mapbox.com/mapbox.js/v2.0.0/mapbox.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox.js/v2.0.0/mapbox.css' rel='stylesheet' />
<style>
  body { margin:0; padding:0; }
  #map { position:absolute; top:0; bottom:0; width:100%; }
</style>
</head>
<body>
<div id='map'></div>

<script>
L.mapbox.accessToken = '<TOKEN_HERE>';
var map = L.mapbox.map('map', 'examples.map-i86nkdio')
    .setView([40.763656, -73.980603], 15);

L.mapbox.featureLayer({
    // this feature is in the GeoJSON format: see geojson.org
    // for the full specification
    type: 'Feature',
    geometry: {
        type: 'LineString',
        // coordinates here are in longitude, latitude order because
        // x, y is the standard for GeoJSON and many formats
        coordinates:  [
                        [   -73.979552  ,   40.766119   ],
                        [   -73.982556  ,   40.761991   ],
                        [   -73.980399  ,   40.759858   ],
                        [   -73.978575  ,   40.756607   ]
                      ]
    },
    properties: {
        title: 'test',
        description: 'Test',
    }
}).addTo(map);
</script>
</body>
</html>

单标记
正文{margin:0;padding:0;}
#映射{位置:绝对;顶部:0;底部:0;宽度:100%;}
L.mapbox.accessToken='';
var map=L.mapbox.map('map','examples.map-i86nkdio')
.setView([40.763656,-73.980603],15);
L.mapbox.featureLayer({
//此功能采用GeoJSON格式:请参阅GeoJSON.org
//对于完整的规格
键入:“功能”,
几何图形:{
键入:“LineString”,
//这里的坐标是经度,纬度的顺序,因为
//x,y是GeoJSON和许多格式的标准
坐标:[
[   -73.979552  ,   40.766119   ],
[   -73.982556  ,   40.761991   ],
[   -73.980399  ,   40.759858   ],
[   -73.978575  ,   40.756607   ]
]
},
特性:{
标题:"测试",,
描述:'测试',
}
}).addTo(地图);

图:

您绘制的线只有您提供的四个点。因此,基本上,您需要更好的源数据


您是在一般情况下还是仅在本例中尝试这样做?您正在绘制的地图基于OpenStreetMap,因此,如果您可以获取这些数据,您可以在基础地图的顶部绘制所需道路的副本

你可以试试这个,我不认为我能用它做什么,我只是试着做一般的事情。这个问题中的例子只是为了解释这个问题。问题是,如果你使用谷歌地图,它会显示正确的路线。。(问题中的坐标将显示一条奇怪的路线,因为曼哈顿的道路是单向的,但它在谷歌地图中起作用)。因此,是否可以使用mapbox/OSMYou将需要某种“捕捉到道路”的能力,这是mapbox API目前没有提供的。