Googleマップ機能から作成されたDIVをクリアする必要があります。 2つのHTML DIVがあります。私は問題を抱えていDIVは、マーカーがGoogleマップに戻されたときにこれが作成されMarkerCountJavascript Google Mapsマップリセット時にHTMLをクリアする
<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;
}
です。これは、基本的にマップに現在表示されているレコードの数をカウントしています。この関数は正常に動作します。
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);
}
この機能は正常に動作します:
はここでマップをリセットし、マーカーや他のinnerHTMLのDIVと呼ばれるサイドバーをクリアするために私の関数です。私はしかし、ときに、ページが最初にロード
MarkerCount.innerHTML = "";
)(関数clearLocationsに次の行を追加しようとしました、そしてあなたが検索を実行MarkerCount、 をクリアしたいとき今、clearLocations()関数が呼び出されます現在、CreateMarker関数用に作成されたinnerhtmlは存在しないため、検索が開始される前にCreateMarkerが何も存在しないのでNULLであることを示すエラーが返されます。
スキニーは、sidebar.innerhtmlは正常にクリアされますが、CreateMarker.innerhtml DIVをクリアするコード行を追加すると、エラーが発生します。なぜこれが起こっされる可能性がありますわからない....
EDIT - 機能CountMarkerはあなたが定義されていない要素にinnerHTML
の設定で問題が発生しているようですね
var markercountEntry = createMarkerCount(markerNodes.length);
MarkerCount.appendChild(markercountEntry);
CreateMarkerが設定されている方法を示すために編集あなたの質問。 – mrk
ありがとう、私はそれを追加しました –