Jak usunąć marker z mapy google po kliknięciu na element strony ?

0

Nawet nie wiem jak się zabrać za napisanie tego pytania.

Załóżmy że mam w bazie jakieś punkty które wczytuje na mapę. Każdy taki punkt ma oczywiście w tabelce swoje ID wiadomo. Chodzi teraz o to że jak wczytam te punkty na mapie to po prawej stronie jest DIV i tam nazwy tych punktów są wyświetlone wraz z obrazkiem krzyżyka dzięki któremu można usunąć dane znaczniki z bazy. Wszystko działa ok bo z bazy się usuwają i jak odświeżę stronę to punktów na mapie jest odpowiednio mniej.

Pytanie teraz jak jednocześnie usunąć ten sam znacznik na mapie bez odświeżania strony ? To znaczy czy przy dodawaniu markerów wczytywaniu ich mogę odczytać unikalny ID z tabeli i gdzieś wstawić otagować znacznik na mapie a później powiedzmy dać:

marks[i].setMap(null)

tyko zamiast [i]

W tym momencie właśnie wymyśliłem, że podczas dodawania markerów zamiast dać:

arrayMarkers.push(marker);

dałem

arrayMarkers[ID] = marker;

ID to pole z tabeli points z tymi punktami na mapie i kiedy usuwam daje marks[id].setMap(null) i działa.

Zatem pytanie czy to jest dobre rozwiązanie. Czy jak będzie rekord kilku milionów to nie powinno być problemu w JS z takim wpisem

arrayMarkers[3255988] = marker;
0

Aż przetestowałem na szybko...

>>> var test = [];
undefined
>>> test.push("costam1");
1
>>> test.push("costam2");
2

Metoda "push" oczywiście zwróci Ci indeks, pod którym wstawiła element do tablicy - po prostu spisz sobie ten indeks i tyle.

0

@Demonical Monk: monk! gdzieś ty widział numerowanie indeksów od 1? push zwraca ilość elementów w tablicy po dodaniu kolejnego

1 użytkowników online, w tym zalogowanych: 0, gości: 1