2015-01-24 6 views
-2

사용자가지도의 아무 곳이나 클릭하여 마커를 배치 할 수있는 Google지도가 있습니다. 나는 또한 2 개의 단추가 명확하고 제거해달라고한다. 지우기 단추의 코드는 다음과 같습니다.Google지도 배열에서 특정 값 제거

for (var i = 0; i < markersArray.length; i++) { 

      markersArray[i].setMap(null); 

    } 

그러나 제거시 마커의 마지막을 제거해야합니다. 내 질문은 이것이 가능한 방법이다. 나는 페이지 아래 더 값 markersArray.length를 저장하고 다음을 통해 필요한 때를 검색하고있다 : 나는 아래의 코드를 루프로이 값을 공급하는 시도

var removemarker = document.getElementsByName('markernum')[0].value; 

그러나이 작동하지 않습니다

  markersArray[removemarker].setMap(null); 

도움을 주시면 감사하겠습니다.

답변

0

마커를 순서대로 (마지막 마커를 추가하고 배열의 마지막 부분에) 저장한다고 가정하면 그 값을 저장하고 검색해야한다고 생각하지 않습니다.

markersArray[markersArray.length-1].setMap(null); 

을 그리고 제거 된 요소는 사용하지의 경우, 당신은 배열에서 제거 할 수 있습니다 : 당신이 마커의 배열의 마지막 마커를 제거하려면 직접 그것을 할 수 있습니다. 유일한 문제는 그것이 마지막 마커를 제거하지만, 그들이 다시 제거를 클릭하면 다음 그 마커를 제거하지 않습니다 작동 (그리고 충분)

markersArray.pop(); 
+0

감사 – Chris

+0

좋아, 당신은 더 이상 제거 된 마커를 사용하지 않을 경우 배열에서 제거 할 수도 있습니다. 내 업데이트를 참조하십시오. 이렇게하면 제거 버튼을 누를 때마다 마커 하나가 제거됩니다. 마지막 마커, 마커 마커 등이 마커를 제거합니다. – acontell