mapbox.jsを使用してMarkerClusterでGEOJsonを実装したいと思います。 MarkerclusterなしMapbox.js GEOJson with Markercluster
、すべてが正常に動作します:
$.ajax({
url: 'dashboard/geoJSON',
dataType: 'json',
type: 'POST',
success: function(geojson) {
locations = L.mapbox.featureLayer().addTo(map)
locations.on('layeradd', function (e) {
var marker = e.layer;
markers.push(marker);
});
locations.setGeoJSON(geojson);
...
しかし、ときに病気MarkerClusterを実装しようとすると、それだけで1つのマーカー
...
success: function(geojson) {
locations = L.mapbox.featureLayer().addTo(map)
var clusterGroup = new L.MarkerClusterGroup();
locations.on('layeradd', function (e) {
var marker = e.layer;
markers.push(marker);
clusterGroup.addLayer(markers);
});
locations.setGeoJSON(geojson);
map.addLayer(clusterGroup);
を示し、私に次のエラーが表示されます。
TypeError: t.onAdd is not a function
誰でも私を助けることができます、どのように私は正常にGEERJsとmarkerclusterを組み合わせることができますリモートサーバーからですか?事前に おかげ
//編集:実測値がすでに使用して動作します異なる例:
var markers = L.markerClusterGroup();
var geoJsonLayer = L.geoJson(geojson, {
onEachFeature: function (feature, layer) {
}
});
markers.addLayer(geoJsonLayer);
map.addLayer(markers);
map.fitBounds(markers.getBounds());
をしかし、今では「マーカ色」のような特性を持つ私の「デフォルト」のスタイリングを失いました - 」マーカー - サイズ "。
マーカーのスタイルを変更するにはどうすればよいですか?
Mapboxはそのようなことを解決するために、少なくとも10個の方法が常に存在しているように見える、少し奇妙である。)
あなたの答えをありがとう、私は少し質問を変更しました。 – derdida
マルタークラスターをリセットするにはどうすればよいですか?たとえば、ユーザーがフィルタを変更したときにマーカーを再度読み込み、clustergroupを再初期化します。通常は悪い使い方です:markers.forEach(function(entry){ map.removeLayer(entry); });しかし、これはもはや働いていません。何か案は? – derdida
私はあなたが何を意味するのか分かりません...あなたは 'clusterGroup.clearLayers()'を試すことができます。それがあなたが探しているものでないなら、多分もっと詳細な専用の質問を開くべきでしょう。 – ghybs