繁体   English   中英

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

[英]Unable to dispaly markers on map using mapbox ,leaflet Omnivore

我正在尝试使用CSV文件使用mapbox和Leaflet在地图上显示标记。 我在mapbox文档中找到了一个示例,我试图使用相同的示例,我只是更改了CSV文件,但未在地图上显示标记。 我刚开始使用地图框,因此迫切需要一些帮助。

我的CSV文件如下所示

值,要素,纬度,经度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>

看起来您在数据第一行之前缺少换行符。 这是一个固定的例子

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

我遇到了与您相同的问题,然后意识到这是数据问题。 为了在控制台上记录这些错误,您必须使用:

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

它会告诉您哪条线不起作用,例如无效的纬度或长度。 更多信息 希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM