2012-11-21 6 views
0

폴리 라인을 사용하여 경로를 나타내는 다음 코드가 있습니다. 어떻게 제거 할 수 있습니까?폴리 라인 제거

downloadUrl("myfile.asp", function(data) { 
var xml = xmlParse(data); 
var markers = xml.documentElement.getElementsByTagName("marker"); 
var path = []; 
for (var i = 0; i < markers.length; i++) { 
    var lat = parseFloat(markers[i].getAttribute("lat")); 
    var lng = parseFloat(markers[i].getAttribute("lng")); 
    var point = new google.maps.LatLng(lat,lng); 
    path.push(point); 
}//finish loop 

var polyline = new google.maps.Polyline({ 
    path: path, 
    strokeColor: "#FF0000", 
    strokeOpacity: 1.0, 
    strokeWeight: 2 
}); 
polyline.setMap(map); 

}); //end download url 

나는 다음 함수를 사용해 보았지만 제대로 작동하지 못했습니다.

function removePath() { 
polyline.setMap(null) 

}

답변

2

나는 문제가 변수 "폴리 라인"의 위치라고 생각합니다.

var polyline = null; 
downloadUrl("myfile.asp", function(data) { 
    ... 

    polyline = new google.maps.Polyline({ 
     path: path, 
     strokeColor: "#FF0000", 
     strokeOpacity: 1.0, 
     strokeWeight: 2 
    }); 
    polyline.setMap(map); 

}); //end download url 

function removePath() { 
    polyline.setMap(null) 
} 
+0

두 가지 프로그래밍 범위가 있습니다. 지역 변수 및 전역 변수. Javascript 범위는 각 함수를 기반으로 작동합니다. 따라서 downloadUrl 콜백을 제외한 다른 함수에서 "polyline"변수를 사용하려면 함수 외부를 전역 변수로 정의해야합니다. – wf9a5m75

+0

작업 중! 나는 매우 감사한다! –

+0

안녕하세요. 한 번 경로를 제거한 후에 다른 마커를 얻기 위해 매개 변수가있는 ASP 페이지를 검색하려고하면 이전 경로를 새 경로로로드합니다. 새 경로를로드하기 위해 이전 경로를 완전히 제거하려면 어떻게해야합니까? –

관련 문제