我想在地圖上顯示點/標記。有12個點的羣集,每個羣集應該有一個獨特的標記/圖標。12簇,12個不同的圖標使用傳單庫的Javascript
在這個example我已經在兩個集羣上顯示樣本數據,每個集羣都有自己的圖標。目前,每個集羣只有3-4個點。實際數據在每個羣集中包含100-200個點,所以顯然該解決方案不是最佳的。我想更容易閱讀12個羣集。考慮使用類語句,爲每個類(=集羣)分配一個圖標。不知道如何開始。
var map = L.map("map");
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
map.setView([48.87, 2.35], 12);
//STEP 1
var leafIcons = L.Icon.extend({
options: {
//shadowUrl: 'leaf-shadow.png',
iconSize: [100, 100],
//shadowSize: [50, 64],
iconAnchor: [22, 94],
//shadowAnchor: [4, 62],
popupAnchor: [-3, -76]
}
});
//STEP 2
var greenIcon = new leafIcons({iconUrl: 'http://www.marchigiana.org.br/home/images/Diversas/Map-Marker-Marker-Outside-Chartreuse-icon.png'}),
blueIcon = new leafIcons({iconUrl: 'http://maps.google.com/mapfiles/ms/icons/blue.png'});
//STEP 3
L.icon = function (options) {
return new L.Icon(options);
};
//Green icon cluster
L.marker([48.90, 2.35], {icon: greenIcon}).addTo(map).bindPopup("I am a green leaf.");
L.marker([48.90, 2.36], {icon: greenIcon}).addTo(map).bindPopup("I am a green leaf.");
L.marker([48.89, 2.34], {icon: greenIcon}).addTo(map).bindPopup("I am a green leaf.");
//Blue icon cluster
L.marker([48.84, 2.35], {icon: blueIcon}).addTo(map).bindPopup("I am a blue icon");
L.marker([48.85, 2.35], {icon: blueIcon}).addTo(map).bindPopup("I am a blue icon");
L.marker([48.84, 2.34], {icon: blueIcon}).addTo(map).bindPopup("I am a blue icon");
L.marker([48.83, 2.36], {icon: blueIcon}).addTo(map).bindPopup("I am a blue icon");
任何想法的方法?
可能制定了錯誤(道歉),但我想要做的是以更方便的方式讀取數據。數據將只包含座標和名稱。所以不必寫出來。 'L.marker([48.90,2.35],{icon:greenIcon})。addTo(map).bindPopup(「我是一片綠葉」);''對於每個綠點,例如,我想爲每個羣集創建屬性。 – Saud
對不起,我仍然不明白你的意思...... -S – ghybs
我將讀取一個非常像GeoJSON的MultiPoint數組中的點。它不是一個真正的GeoJSON文件,它將被很多點分開,用分號分隔。 – Saud