Javascript 谷歌地图清除新搜索中的标记聚类
在新的搜索中,我很难让我的地图清除群集。有什么想法吗Javascript 谷歌地图清除新搜索中的标记聚类,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,在新的搜索中,我很难让我的地图清除群集。有什么想法吗 function clearLocations() { //infoWindow.close(); for (var i = 0; i < markers.length; i++) { markers[i].setMap(null); } markers.length = 0; // clear #side_bar bottom text document.getElem
function clearLocations() {
//infoWindow.close();
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
markers.length = 0;
// clear #side_bar bottom text
document.getElementById("side_bar").innerHTML = "";
// clear .alertBox text
$('.alertBox').html('');
}
function searchLocationsNear(center) {
clearLocations();
var searchUrl = 'phpsqlsearch_genxml.php?lat=' + center.lat() + '&lng=' + center.lng();
downloadUrl(searchUrl, function (data) {
var xml = parseXml(data);
var markerNodes = xml.documentElement.getElementsByTagName("marker");
if (markerNodes.length > 0) {
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < markerNodes.length; i++) {
var name = markerNodes[i].getAttribute("name");
var address = markerNodes[i].getAttribute("address");
var distance = parseFloat(markerNodes[i].getAttribute("distance"));
var category = markerNodes[i].getAttribute("category");
var latlng = new google.maps.LatLng(
parseFloat(markerNodes[i].getAttribute("lat")),
parseFloat(markerNodes[i].getAttribute("lng")));
// createOption(name, distance, i);
createMarker(latlng, name, address, category);
bounds.extend(latlng);
}
map.fitBounds(bounds);
var markerclusterer = new MarkerClusterer(map, markers);
// markerclusterer.setMap(null);
makeSidebar();
} else {
$('.alertBox').html('Sorry, there are no jobs that are close to your location.');
}
});
}
函数clearLocations(){
//infoWindow.close();
对于(var i=0;i0){
var bounds=new google.maps.LatLngBounds();
对于(变量i=0;i
您应该尝试以下方法:
if (markers) {
for (i in markers) {
markers[i].setMap(null);
}
markers = [];
markerclusterer.clearMarkers()
}
根据需要,可以使用clearMarkers()
方法清除聚类器
更新
仅当我们已经创建MarkerClusterer时才调用clear
if(markerclusterer)
{
clearLocations();
}
谢谢但是,我收到“UncaughtTypeError:无法调用未定义的方法'clearMarkers',因为您在第一次创建markerclusterer之前调用了
clearLocations
。你应该在我的更新之后或喜欢我的更新之后这样做:)我回答了你的问题?markerclusterer
仅在searchLocationsNear
中可见,而不是在clearLocations
中可见。是的,我知道,如果在这里,你需要将放在这里。