Удалить полилинию

У меня есть следующий код, который показывает путь с помощью полилинии. Как я могу удалить его?

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)

}


person Fran Rod    schedule 21.11.2012    source источник


Ответы (1)


Я думаю, что проблема в положении переменной "polyline".

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)
}
person wf9a5m75    schedule 21.11.2012
comment
Вы знаете, есть две области программирования; локальная переменная и глобальная переменная. Область Javascript работает на основе каждой функции. Поэтому, если вы хотите использовать ломаную переменную в другой функции, кроме обратного вызова downloadUrl, вам нужно определить вне функции как глобальную переменную. - person wf9a5m75; 21.11.2012
comment
Работающий! Я очень благодарен! - person Fran Rod; 22.11.2012
comment
И снова здравствуйте. Когда я пытаюсь получить свою страницу asp с параметрами, чтобы получить другие маркеры один раз, когда я уже удалил путь, он возвращается, чтобы загрузить старый путь с новым. Как я могу полностью удалить старый путь, чтобы загрузить новый? - person Fran Rod; 22.11.2012
comment
полилиния.setMap(ноль); тогда полилиния = ноль; - person wf9a5m75; 22.11.2012
comment
Я добавил эту строку ниже polyline.setMap(null); но он все еще загружает старый путь - person Fran Rod; 22.11.2012
comment
Теперь он работает, я прокомментировал путь var, раскомментировал его и добавил полилинию = null; и работает - person Fran Rod; 26.11.2012