Я пытаюсь включить маркеры на карте, используя Mapbox GL на моем приложении rails.mapbox GL не может иметь более 5 маркеров
В моем файле контроллера я есть:
@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 маркеров вызов отлично работает и я получаю boatramp идентификатор, чтобы показать (. Также возникают проблемы с изображением «значок», чтобы показать) Как только я увеличиваю лимит до 6 или более. Я получаю сообщение об ошибке:
Uncaught TypeError: Cannot read property 'leaf' of undefined
Как я увеличивать и уменьшать масштаб на карте он выполняет ту же самую ошибку. Кроме того, как только у меня есть значительное количество объектов 40 +, некоторые из них не отображаются. Есть идеи?