Eigenlijk wil ik de google maps markers verbergen.
Ik volg de documentatie, maar er gebeurd niks.
Ik doe dit helemaal bovenaan
var markers = [];
onderaan de pagina doe ik:
<script src='https://maps.googleapis.com/maps/api/js?key=xxxxxxxxxxxxxxxx&callback=initMap'></script>
function initMap() {
map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng(51.605359, 4.162031),
zoom: 6,
mapTypeControl: false,
mapTypeId: "roadmap",
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
},
fullscreenControl: false,
disableDoubleClickZoom: true
}), homepage(), infoWindow = new google.maps.InfoWindow({
height: 320
})
}
function homepage()
{
var e = jQuery("#catid").val();
var t = jQuery("#catsubid").val();
var value = jQuery("#pc").val();
var straal = jQuery("#straal").val();
var path = jQuery("input[name=term]").val();
if (void 0 === value || "" === $.trim(value)) {
/** @type {string} */
value = "";
}
if (void 0 === path || "" === $.trim(path) || "[object%20HTMLInputElement]" == path) {
/** @type {string} */
path = "";
}
/** @type {string} */
var url = "<?=HTML_ROOT?>inc/phpsqlsearch_genxml.php?lat=52.0327092&lng=3.8593459&catid=" + e + "&catidsub=" + t + "&postcode=" + value + "&straal=" + straal + "&term=" + path;
downloadUrl(url, function(data) {
var document = parseXml(data);
var s = document.documentElement.getElementsByTagName("marker");
var bounds = new google.maps.LatLngBounds;
/** @type {number} */
var i = 0;
for (; i < s.length; i++)
{
var name = s[i].getAttribute("name");
var type = s[i].getAttribute("img");
var green = s[i].getAttribute("plaats");
var id = (s[i].getAttribute("provincie"), s[i].getAttribute("catnaam"));
var defVal = s[i].getAttribute("postcode");
/** @type {number} */
var index = parseFloat(s[i].getAttribute("distance"));
var endColorCoords = s[i].getAttribute("id");
var currentHash = s[i].getAttribute("num");
var latlng = new google.maps.LatLng(parseFloat(s[i].getAttribute("lat")), parseFloat(s[i].getAttribute("lng")));
// MAKER
createMarker(latlng, name, green, type, endColorCoords);
bounds.extend(latlng);
} // end for
var labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
markerClusterer = new MarkerClusterer(map, markers, {
imagePath: "<?=HTML_ROOT?>images/markers/cluster/m"
}) // end download
});
}
CreateMarker maakt netjes de markers aan
function createMarker(latlng, index, type, src, name) {
var pinImage = src.replace("markern_", "markerm_");
/** @type {string} */
var path = src;
/** @type {string} */
var name = name; //console.log(name);
var marker = new google.maps.Marker({
map : map,
position : latlng,
icon : src
});
markers.push(marker);
}
Deze komen dus netjes met clusers op de map
Als ik een radius via een select doe:
jQuery(document).on("change", ".opradius", function(a)
{
searchLocationsNear();
});
alert markers is 0. Dus hij haalt ze weg.
function searchLocationsNear(e,radius) { // niet home
{
for (var k = 0; k < markers.length; k++) {
markers[k].setMap(null);
}
markers = [];
alert(markers.length);
}
Snap er niks van, ik heb met adnere sites nooit problemen gehad in het verleden met markers te verwijderen/verbergen op deze manier.
Ik zie in de console dit:
DevTools failed to parse SourceMap: http://localhost/sm/3a884fe0bdb97cb3a94b410e67cf38fdc248890d5581232077b3e6241e25cd21.map
DevTools failed to parse SourceMap: http://localhost/test/js/bootstrap-select.js.map
VErder geen foutmledingen, de radius circle word ook gemaakt en de markers ook, maar ik krijg de markers niet meer weg???