无法使用mapbox,传单Omnivore在地图上显示标记

时间:2014-07-24 13:09:46

标签: c# javascript leaflet

我正在尝试使用CSV文件使用mapbox和leaflet在地图上显示标记。我在mapbox文档中找到了一个示例,我试图使用相同的示例,我刚刚更改了CSV文件,但它没有在地图上显示标记。我刚刚开始使用地图框,所以拼命寻找帮助。

我的CSV文件看起来像这样

值,FacTy,经纬度 1,112,42.27426,-83.365717
2,113,42.274082,-83.3623
3,30,42.337196,-83.487672

这是我的代码片段

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

        <script src='https://api.tiles.mapbox.com/mapbox.js/plugins/leaflet-omnivore/v0.2.0/leaflet-omnivore.min.js'></script>

        <div id='map'></div>

        <script>
            var map = L.mapbox.map('map', 'examples.map-i86nkdio')
            .setView([42.274082, -83.362300], 8);
            omnivore.csv('latlon.csv',null,L.mapbox.featureLayer()).addTo(map);
        </script>

    </body>
</html>

2 个答案:

答案 0 :(得分:0)

您似乎在第一行数据之前错过了换行符。这是a fixed example

Value,FacTy,Latitude,Longitude 1,112,42.27426,-83.365717
2,113,42.274082,-83.3623
3,30,42.337196,-83.487672

应该是

Value,FacTy,Latitude,Longitude
1,112,42.27426,-83.365717
2,113,42.274082,-83.3623
3,30,42.337196,-83.487672

答案 1 :(得分:0)

我和你有同样的问题,然后意识到这是数据的问题。要在控制台上记录这些错误,您必须使用:

omnivore.csv('your_file.csv', null, L.mapbox.featureLayer()).addTo(map)
  .on('error', function(error) {
    console.log(error);
});

它会告诉你哪条线路无效,例如无效的纬线或长线。 More info。 希望这有帮助!