Hoi allen,
Google maps moet een aantal markers op een kaart van een stad weergeven van kantoorpanden, de adres-gegevens komen uit een database. het probleem is dat google maps niet alle markers weergeeft, in de html code (view source van de pagina) staan echter wel alle markers weergegeven. Bij kleine aantallen (4 markers) worden ze wel alle weergegeven, bij 30 markers meestal maar 10 a 15.
Ik probeer nu al dagen dit probleem op te lossen en heb volgens mij al alle site bezocht waar google maps in voor komt maar over dit probleem vind ik weinig.
Voor de zekerheid hier de code
Heeft iemand hier ervaring mee of een idee hoe ik dit moet oplossen?
Alvast erg bedankt!
Google maps moet een aantal markers op een kaart van een stad weergeven van kantoorpanden, de adres-gegevens komen uit een database. het probleem is dat google maps niet alle markers weergeeft, in de html code (view source van de pagina) staan echter wel alle markers weergegeven. Bij kleine aantallen (4 markers) worden ze wel alle weergegeven, bij 30 markers meestal maar 10 a 15.
Ik probeer nu al dagen dit probleem op te lossen en heb volgens mij al alle site bezocht waar google maps in voor komt maar over dit probleem vind ik weinig.
Voor de zekerheid hier de code
PHP:
<script type="text/javascript">
//<![CDATA[
$(function(){
if(GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("bigmap"));
var geo = new GClientGeocoder();
var icon = new GIcon();
icon.image = "<?php echo $_BASEURL_SITE ?>images/marker.gif";
icon.iconSize = new GSize(25,25);
icon.transparent = "<?php echo $_BASEURL_SITE ?>images/marker_ie.png";
icon.iconAnchor = new GPoint(12,13);
icon.infoWindowAnchor = new GPoint(25,0);
/** zoom city */
geo.getLatLng(
"<?php echo $this->navigation->parsedPlaats() ?>, Nederland",
function(point) {
if (!point) {
} else {
map.setCenter(point, 10);
}
}
);
<?php
$pc = count($results);
for($p=0; $p<$pc; $p++){
$oId = $results[$p];
$city = getObjectField($oId, "plaats");
$postal = getObjectField($oId, "postcode");
$address = getObjectField($oId, "adres");
if($city != -1){
$city = getObjectField($city, "naam");
}
$url = FriendlyURLs::getObjectURL($city, $oId);
?>
geo.getLatLng(
"<?php echo $address .", ". $postal ?>, Nederland",
function(point) {
if (!point) {
} else {
var marker = new GMarker(point, {
icon: icon,
title: "<?php echo $address .", ". $city ?>"
});
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml('<div><a href="<?php echo $url ?>"><?php echo $address .", ". $city ?></a><br /><?php $this->util->outputFirstThumbnail($oId) ?></div>');
});
map.addOverlay(marker);
}
}
);
<?php
}
?>
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.disableScrollWheelZoom();
$(document).unload(function(){
GUnload();
});
}
});
//]]>
</script>
Heeft iemand hier ervaring mee of een idee hoe ik dit moet oplossen?
Alvast erg bedankt!