mapbox GL不能有超过5个标记

时间:2015-02-24 16:39:24

标签: javascript ruby-on-rails mapbox mapbox-gl-js

我正在尝试使用我的rails应用程序上的Mapbox GL在地图上合并标记。

在我的控制器文件中,我有:

@boatramps = Boatramp.all.limit(6)
@geojson = {"type" => "FeatureCollection", "features" => []}
@boatramps.each do |boatramp|
  @geojson["features"] << {
    geometry: {
    type: 'Point',
    coordinates: [boatramp.long, boatramp.lat]
    },
    properties: {
    title: boatramp.id,
    :'marker-symbol' => 'monument'
    }
  }
end
respond_to do |format|
  format.html
  format.json{render json: @geojson}
end

我的ajax电话

style.layers.push({
    "id": "markers",
    "type": "symbol",
    "source": "markers",
    "layout": {
      "icon-image": "{marker-symbol}-12",
      "text-field": "{title}",
      "text-font": "Open Sans Semibold, Arial Unicode MS Bold",
      "text-offset": [0, 0.6],
      "text-anchor": "top"
    },
    "paint": {
      "text-size": 12
    }
  });
$.ajax({
    type: 'GET',
    url: '/virginia',
    dataType: 'json',
    success: function(response){
        console.log(response)
        var markers = new mapboxgl.GeoJSONSource({ data: response});

        map.addSource('markers', markers);
    },
    error: function(){

    }
})

当我有5个标记时,通话工作正常,我得到了船模ID显示。(还有“图标图像”显示的问题)一旦我将限制增加到6或更多。我收到一个错误:

Uncaught TypeError: Cannot read property 'leaf' of undefined

当我在地图上放大和缩小时,它会执行相同的错误。此外,一旦我有相当数量的物体40 +,其中一些不显示。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是一个已知问题。 https://github.com/mapbox/mapbox-gl-js/issues/987

我昨天也在Github问了一下,我被告知它将在下一个版本中修复,大约一周。