سؤال

كيف يمكنني إزالة جميع أيقونات الكتلة (علامات الكتلة) من الخريطة؟ حاولت مع نصائح مثل:

خرائط Google API V3: كيفية إزالة جميع العلامات؟

... لكنها لم تنجح.

هل يمكنك مساعدتي في كيفية تحقيق ذلك؟

شكرا لكم مقدما!

تحديث (2010-11-23)

يتم تخزين العلامات في صفيف مع

var markersClust = Array();

... وتضاف مع (مزيج مع PHP):

markersClust.push(marker_<?php echo $team["Team"]["id"]; ?>);

var markerClusterer = new MarkerClusterer(MyMap.map, markersClust, clusterOptions);

وهو يعمل بشكل جيد.

لكن ، لا يمكنني إزالتها من الخريطة ، ويدفعني ...

حاولت إزالة العلامات (وفعلت ذلك)

for ( var i=0; i < markersClust.length; i++) {
    markersClust[i].setMap(null);
}
markersClust = []; 

لكن أيقونات العنقودية هي التي تتسع على الخريطة.

كما جربت أشياء مثل:

markerClusterer.clearMarkers();

ومثل

MyMap.preventDefault();
MyMap.stopPropagation();
MyMap.clearMarkers();

ولكن ، مرة أخرى ، لا تزال أيقونات المجموعات موجودة على الخريطة.

ماذا علي أن أفعل لإزالة هذه الرموز العنقودية من خريطتي؟ الرجاء المساعدة ...

هل كانت مفيدة؟

المحلول

تكرار على كل علامة وضبط خريطة العلامة على Null. من شأنه أن يزيل العلامة من الخريطة.

نصائح أخرى

هذه هي الطريقة الصحيحة للقيام بذلك:

// Unset all markers
var i = 0, l = markers.length;
for (i; i<l; i++) {
    markers[i].setMap(null)
}
markers = [];

// Clears all clusters and markers from the clusterer.
markerClusterer.clearMarkers();

العرض التوضيحي: http://jsfiddle.net/hoffz/gezxx/

توثيق: https://googlemaps.github.io/js-marker-clusterer/docs/reference.html

واجهت نفس المشكلة أيضًا. لقد أصلحته عن طريق إعلان markerclusterer الخاص بي مرة واحدة أثناء التهيئة:

markerCluster = new MarkerClusterer(map);

هذا ما افعله. لدي العديد من العلامات ولكن عندما أقوم بالتبديل إلى خريطة الحرارة ، أريد إزالة جميع العلامات والمجموعة. عندما أقوم بإنشاء علامة أضيفها إلى مجموعة العلامات العالمية

 markers.push(marker);

أنا أعرّف كلكستر مثل هذا

markerCluster = new MarkerClusterer(map, markers);
markerCluster.setIgnoreHidden(true);

عندما أنقر على زر لإظهار خريطة الحرارة

$.each(markers, function(k, v){
    v.setVisible(false);
});
markerCluster.repaint();

متى repaint() يسمى مع تجاهل مخفي ، يخفي جميع الرموز العنقودية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top