Googlemaps API v3 clustering

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans De Ridder

Hans De Ridder

13/09/2018 00:10:42
Quote Anchor link
Ik gebruik een google maps API.
Daar komt ook clustering in voor.
Dat is het 'vangen'van markers die dicht bij elkaar staan.
Omdat markers op dezelfde plek kunnen staan
(activiteiten in verschillende zalen zelfde gebouw, of zelfde gebouw, andere datum)
heb ik in dat geval voor elke marker een offset gegeven.

Nu werkt dat op zich wel.
Maar als de cluster zelf weer een extra cluster aanmaakt, werkt die niet.
Het beeld scrolt wel wat.

Het gaat volgens mij om het volgende gedeelte:
Iemand hier wel eens wat mee gedaan?


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var mc;
var markerCluster = {gridSize: 27, maxZoom: 15};
.
.
.
.

//OFFSET BEPALEN

var min = .999999;
var max = 1.000001;

var matA = (Math.random() * (max - min) + min);
var matB = (Math.random() * (max - min) + min);

var offsetLat = post_lat[i] * matA;
var offsetLng = post_lon[i] * matB;


//POSITIE BEPALEN MARKERS

var point = new google.maps.LatLng(offsetLat, offsetLng);

var icon = customIcons[5] || {};
marker = new google.maps.Marker({
            icon: icon.icon,
            position: point,
            map: map,
            zIndex: 9999999
});


          infowindow.open(map, marker);
        }

      })(marker, i));
cluster.push(marker);
    }  
}

var mc = new MarkerClusterer(map, cluster,
{imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});
document.getElementById("info").innerHTML = "ACTIVITEITEN : "+activ;
}


HIER HET VOORBEELD:
Kijk bij "2 weken".
https://www.pctraverse.nl/Project/geoB.php

Toevoeging op 13/09/2018 14:21:49:

Ik heb wel een idee.
Maar weet nog niet hoe ik het uit moet werken...
Als markers bij elkaar worden geplaatst, dan volgt clustering.
Omdat er random wordt bepaald wat de offset is, kan er binnen de cluster
weer een cluster ontstaat.
Ik zou kunnen bekijken of het mogelijk is om een min. afstand aan te houden
tussen de markers. Nog geen idee hoe..
Gewijzigd op 13/09/2018 00:12:19 door Hans De Ridder
 
PHP hulp

PHP hulp

14/11/2018 02:37:16
 
Hans De Ridder

Hans De Ridder

14/09/2018 16:28:28
Quote Anchor link
Het was inderdaad de min. afstand tussen markers, waardoor de clustering niet juist werkte.
Heb nu de random offset vervangen door waarden waarbij de minimale afstand gegarandeerd is.
Nu werkt het naar behoren.


Toevoeging op 14/09/2018 16:40:36:

Het blijkt dat er een min. afstand moet zijn tussen markers.
Met een random offset is dat niet gegarandeerd.
Ik heb nu het random gedeelte vervangen met een code waarbij
de min. afstand lat en lng min. 0.000013 is tussen markers.
Nu werkt alles naar behoren lijkt het.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.