mapbox LineString遵循道路

时间:2014-08-08 09:08:17

标签: 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=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>

图片:http://postimg.org/image/x1syq28o5/

1 个答案:

答案 0 :(得分:0)

您所画的线只有您提供的四个点。所以基本上,你需要更好的源数据。

您是尝试在一般情况下执行此操作还是仅针对此示例?您正在绘制的地图基于OpenStreetMap,因此如果您可以抓取该数据,则可以在基本地图上绘制所需道路的副本。