在某些位置(坐标)存在多个点,我希望在工具提示中合并标题。
这里是jbuilder文件
json.type "FeatureCollection"
json.features @years do |year|
json.type "Feature"
json.properties do
if (year.resto)
json.set! "marker-color", "#9932CC"
json.set! "marker-symbol", "restaurant"
else
json.set! "marker-color", "#5cb85c"
json.set! "marker-symbol", "lodging"
end
json.set! "marker-size", "small"
json.title "#{year.person.given_name} #{year.person.last_name} was a #{year.title} at #{year.location.address} on #{year.year_date}"
end
if (year.location.longitude)
json.geometry do
json.type "Point"
json.coordinates [year.location.longitude, year.location.latitude]
end
end
end
在某些坐标处可能存在多个项目。只有一个出现。我尝试了MarkerClusterGroup并显示了所有项目,但宁愿将标题叠加在一个工具提示中。关于如何解决这个问题的任何提示?谢谢
js文件
function makeMap() {
L.mapbox.accessToken = $('body').data('mapboxToken');
var map = L.mapbox.map('map', 'mapbox.streets')
.setView([34.040951, -118.258579], 13);
var featureLayer = L.mapbox.featureLayer()
.loadURL('map/map_data.geojson')
.addTo(map);
featureLayer.on('ready', function(e) {
map.fitBounds(featureLayer.getBounds());
});
}
答案 0 :(得分:0)
不是一个完整的答案,但我想我可以在jbuilder中测试并建立标题。
开始考虑这个问题,这不会是直截了当的。可能需要修改数据库,如果运行正常则可以。
如果Mapbox / Leaflet可以处理它,则更容易。