Мне нужно очистить DIV, созданный с помощью функции карт Google.
Есть два HTML DIV. DIV, с которым у меня проблемы - это MarkerCount
<div id="sidebar"></div>
<div id="MarkerCount"></div>
function createMarkerCount(count) {
var div = document.createElement('div');
var html = "Results: " + count + " Facilities";
div.innerHTML = html;
div.style.marginBottom = '5px';
return div;
}
Это создается, когда маркеры возвращаются на карту Google. Это в основном выполняет подсчет количества записей, отображаемых в настоящее время на карте. Эта функция отлично работает.
Вот моя функция для сброса карты и очистки маркеров и другого innerhtml DIV, называемого боковой панелью:
function clearLocations() {
infoWindow.close();
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
markers.length = 0;
sidebar.innerHTML = "";
map.setCenter(new google.maps.LatLng(36.1611, -116.4775), 6);
}
Эта функция работает просто отлично. Теперь, когда я хочу очистить MarkerCount,
Я попытался добавить следующую строку в функцию clearLocations ()
MarkerCount.innerHTML = "";
Однако, когда страница сначала загружается и вы выполняете поиск, функция clearLocations () вызывается до того, как поиск начат, потому что в настоящее время нет innerhtml, созданного для функции CreateMarker. это возвращает ошибку, которая утверждает, что CreateMarker имеет значение NULL, поскольку там ничего нет.
То есть, то, что sidebar.innerhtml очищается очень хорошо, но когда я добавляю строку кода для очистки DIV CreateMarker.innerhtml, я получаю сообщение об ошибке. Не уверен, почему это может происходить ....
РЕДАКТИРОВАТЬ - функция, чтобы показать, как CountMarker получает счет
var markercountEntry = createMarkerCount(markerNodes.length);
MarkerCount.appendChild(markercountEntry);