To many markers
Heb op mijn site een map van google, maar heb zo veel markers (+/- 5000) dat de kaart nu vol staat, nu heb ik al rond gekeken op google een kwam de volgende oplossing tegen MarkerClusterer, maar als ik deze toe pas op mijn map krijg ik de volgende foutmelding.
Foutdetails webpagina
Gebruikersagent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.3; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C)
Tijdstempel: Sat, 14 Jul 2012 13:15:47 UTC
Bericht: 'markers' is niet gedefinieerd
Regel: 76
Teken: 3
Code: 0
Nu is mijn vraag wat gaat hier mis.
Kijk hier voor de code
http://www.plaatscode.be/141849/
Met vriendelijke groet,
A Jansen
Precies wat het zegt, je hebt op regel 20 (in jou voorbeeldje) een variabele genaamd marker die je toevoegt aan de MarkerClusterer, alleen die variabele bestaat helemaal niet.
maar hoe moet ik dit aanpassen zodat het wel werkt want wat ik probeer ik krijg het niet werkend
Het is alsof je een spijker in de muur wilt gaan slaan. Je hebt de spijker, maar nog geen hamer, dus gaat dat niet lukken. Dan moet je eerst zorgen dat je die hamer hebt en dan zal het lukken.
Nu heb je de MarkerClusterer die een map en markers nodig heeft. Je hebt de map, maar nog niet de markers. Dan moet je dus eerst die markers aanmaken en dan pas de MarkerClusterer uitvoeren.
Als ik je zo begrijp moet het hier onder staan( zie voorbeeld), want dan zijn alle markers in een variabele gezet.
var markers = data.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var latlng = new google.maps.LatLng(parseFloat(markers.getAttribute("lat")),
parseFloat(markers.getAttribute("lng")));
var content = '<h3><a href="Camping.php?recordID=' + markers.getAttribute("id") + '">' + markers.getAttribute("camping") + '</a></h3>'+ markers.getAttribute("adres") +'<br>'+ markers.getAttribute("postcode") +', '+ markers.getAttribute("plaats") ;
var marker = createMarker(content, latlng);
var markerCluster = new MarkerClusterer(map, markers);
}
Maar dan krijg ik de volgende fout melding
Foutdetails webpagina
Gebruikersagent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.3; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C)
Tijdstempel: Mon, 16 Jul 2012 17:47:28 UTC
Bericht: Deze eigenschap of methode wordt niet ondersteund door dit object
Regel: 418
Teken: 3
Code: 0
URI: http://localhost/Proberen/Kaartdata/markerclusterer.js
een ik krijg maar 1 marker te zien.
http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/docs/examples.html
----
Ik heb de rest niet deftig bekeken, maar dit lijntje:
var markerCluster = new MarkerClusterer(map, markers);
kan onmogelijk binnen de for-lus horen. Die moet er buiten (onder de } ).
Ik zou iets verwachten zoals dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
var markers = data.documentElement.getElementsByTagName("marker");
var markerArray = []; // lege array, we gaan die vullen. Aan het einde geven we deze variabele mee als tweede parameter van MarkerClusterer
for (var i = 0; i < markers.length; i++) {
var latlng = new google.maps.LatLng(parseFloat(markers.getAttribute("lat")),
parseFloat(markers.getAttribute("lng")));
var content = '<h3><a href="Camping.php?recordID=' + markers.getAttribute("id") + '">' + markers.getAttribute("camping") + '</a></h3>'+ markers.getAttribute("adres") +'<br>'+ markers.getAttribute("postcode") +', '+ markers.getAttribute("plaats") ;
var marker = createMarker(content, latlng); // dit is dus een nieuwe marker.
// we gaan die marker op de hoop zwieren
markerArray.push(marker);
}
var markerCluster = new MarkerClusterer(map, markerArray);
var markerArray = []; // lege array, we gaan die vullen. Aan het einde geven we deze variabele mee als tweede parameter van MarkerClusterer
for (var i = 0; i < markers.length; i++) {
var latlng = new google.maps.LatLng(parseFloat(markers.getAttribute("lat")),
parseFloat(markers.getAttribute("lng")));
var content = '<h3><a href="Camping.php?recordID=' + markers.getAttribute("id") + '">' + markers.getAttribute("camping") + '</a></h3>'+ markers.getAttribute("adres") +'<br>'+ markers.getAttribute("postcode") +', '+ markers.getAttribute("plaats") ;
var marker = createMarker(content, latlng); // dit is dus een nieuwe marker.
// we gaan die marker op de hoop zwieren
markerArray.push(marker);
}
var markerCluster = new MarkerClusterer(map, markerArray);
Gewijzigd op 17/07/2012 10:03:49 door Kris Peeters
bedankt voor je reactie, het werkt nu.
Met vriendelijke groet,
A Jansen