2017-08-02 71 views
1

我正在嘗試使用leafletjs製作地圖,但無法使marker clusters正常工作。我希望它顯示標記聚類的默認圖標,但是完全不顯示標記聚類圖標。這裏有一個演示:傳單地圖標記羣集未顯示圖標

var map = L.map('mapid').setView([51.505, -0.09], 13); 
 

 
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', { 
 
    maxZoom: 18, 
 
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' + 
 
    '<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' + 
 
    'Imagery © <a href="http://mapbox.com">Mapbox</a>', 
 
    id: 'mapbox.streets' 
 
}).addTo(map); 
 

 
var markers = L.markerClusterGroup(); 
 
markers.addLayer(L.marker([51.505, -0.09])); 
 
markers.addLayer(L.marker([51.506, -0.09])); 
 
map.addLayer(markers);
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" integrity="sha512-wcw6ts8Anuw10Mzh9Ytw4pylW8+NAD4ch3lqm9lzAsTxg0GFeJgoAtxuCLREZSC5lUXdVyo/7yfsqFjQ4S+aKw==" crossorigin="" /> 
 
<script src="https://unpkg.com/[email protected]/dist/leaflet.js" integrity="sha512-mNqn2Wg7tSToJhvHcqfzLMU6J4mkOImSPTxVZAdo+lcPlk+GhZmYgACEe0x35K7YzW1zJ7XyJV/TT1MrdXvMcA==" crossorigin=""></script> 
 
<script src="https://leaflet.github.io/Leaflet.markercluster/dist/leaflet.markercluster-src.js"></script> 
 
<div id="mapid" style="height:380px;"></div>

這個代碼是完全基於http://leafletjs.com/examples/quick-start/https://github.com/Leaflet/Leaflet.markercluster#usage的例子,所以我會想象它會工作給出的例子,但它似乎並不像這實際上顯示集羣背後的圖標。

我發現markerClusterGroup有一個名爲_defaultIconCreateFunction的方法,但它似乎沒有被調用(或者如果它確實被調用,它什麼也不做)。

那麼我在這裏做錯了什麼?

回答

1

您還需要MarkerCluster.cssMarkerCluster.Default.css

var map = L.map('mapid').setView([51.505, -0.09], 13); 
 

 
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', { 
 
    maxZoom: 18, 
 
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' + 
 
    '<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' + 
 
    'Imagery © <a href="http://mapbox.com">Mapbox</a>', 
 
    id: 'mapbox.streets' 
 
}).addTo(map); 
 

 
var markers = L.markerClusterGroup(); 
 
markers.addLayer(L.marker([51.505, -0.09])); 
 
markers.addLayer(L.marker([51.506, -0.09])); 
 
map.addLayer(markers);
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" integrity="sha512-wcw6ts8Anuw10Mzh9Ytw4pylW8+NAD4ch3lqm9lzAsTxg0GFeJgoAtxuCLREZSC5lUXdVyo/7yfsqFjQ4S+aKw==" crossorigin="" /> 
 
<script src="https://unpkg.com/[email protected]/dist/leaflet.js" integrity="sha512-mNqn2Wg7tSToJhvHcqfzLMU6J4mkOImSPTxVZAdo+lcPlk+GhZmYgACEe0x35K7YzW1zJ7XyJV/TT1MrdXvMcA==" crossorigin=""></script> 
 

 
<link rel="stylesheet" href="https://leaflet.github.io/Leaflet.markercluster/dist/MarkerCluster.css" /> 
 
<link rel="stylesheet" href="https://leaflet.github.io/Leaflet.markercluster/dist/MarkerCluster.Default.css" /> 
 
<script src="https://leaflet.github.io/Leaflet.markercluster/dist/leaflet.markercluster-src.js"></script> 
 
<div id="mapid" style="height:380px;"></div>

+0

謝謝!這樣可行! – Joeytje50