Rails 应用程序上的 Mapbox 点

mapbox points on a rails app

本文关键字:Mapbox 程序上 应用 应用程序 Rails      更新时间:2023-09-26

我想将mapbox合并到我的rails应用程序中。 目前,我有一个从数据库中提取的经纬度点列表。我能够从数据库中提取它们并将它们放在一个数组中,但我无法让它们在地图上显示。

我假设您正在使用 Mapbox.js API...如果你是...

你需要在你的网页上放一些javascript,这将列出要点。然后,可以通过在代码隐藏中调用方法来添加 long/lat。这样。。。。

<link href='//api.tiles.mapbox.com/mapbox.js/v1.3.1/mapbox.css' rel='stylesheet' />
<script src='//api.tiles.mapbox.com/mapbox.js/v1.3.1/mapbox.js'></script>
<style>
    #map {
        width: 100%;
        height: 600px;
    }
</style>
<div id='map' />
<script type='text/javascript'>
    var map = L.mapbox.map('map', '[yourmapname]')
    L.mapbox.markerLayer({
        type: 'Feature',
        geometry: {
        type: 'MultiPoint',
        coordinates: [ <%=getPins()%> ] 
    },
        properties: {
            title: ['A Pin'],
            description: ['1234'],
        }
    }).addTo(map);
    </script>

getPins() 在后面的代码中调用一个函数,该函数需要返回一个格式如下的字符串 - "[x,y],[x,y],[x,y]..."。因此,如果您已经有一个数组,那么只需使用该格式将其格式化为字符串 - 并返回它。

行"type: 'Multipoint'"表示 API 将读取您传回的字符串,并为每个字符串创建一个引脚。