2011-07-30 11 views
1

Googleマップからカスタムアイコンを削除しようとしていて、マップをデフォルトのズームと緯度経度にリセットしようとしています。javascript google maps remove icon

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); 
} 

マップはデフォルトの緯度経度にリセットされますが、ズームレベルは同じままで、サイドバーは私たちが削除さhtmk:

は、ここに私の関数です。アイコンは地図上に残ります。なぜこれが起こるのだろうかと疑わしいことではない。 多くのおかげで、

--matt EDIT - あなたが(後でclearLocationsでループによってクリアされるマーカー配列にあなたの立案者を配置する必要がありマーカー

function createMarker(latlng, name, address, city, state, zipcode, telephone, images, url) { 
    var html = "<div>stuff here</div>"; 
    var marker = new google.maps.Marker({ 
    icon: icon, 
    map: map, 
    position: latlng 
    }); 

    google.maps.event.addListener(marker, 'click', function() { 
    infoWindow.setContent(html); 
    infoWindow.open(map, marker); 
    }); 
    return marker; 
} 
+0

「マーカー」が設定されているコードを表示する必要があります。 –

+0

マーカ情報を残して申し訳ありません...投稿が編集されました。 –

答えて

1

含まれていないための私の謝罪) 。マーカー配列はグローバルである必要があります

 //global variable 
     var markers = []; 
     function createMarker(latlng, name, address, city, state, zipcode, telephone, images, url) { 
      var html = "<div>stuff here</div>"; 
      var marker = new google.maps.Marker({ 
      icon: icon, 
      map: map, 
      position: latlng 
      }); 
//add current marker to markers array 
     markers.push(marker); 

      google.maps.event.addListener(marker, 'click', function() { 
      infoWindow.setContent(html); 
      infoWindow.open(map, marker); 
      }); 
      return marker; 
     } 
+0

返信いただきありがとうございます! –