2015-05-21 2 views
-1

Здравствуйте, я получил код, который рисует полилинию и получает цвета сегментов из списка. Его прекрасно работать, я хочу, чтобы удалить эту полилинию, когда я нажимаю кнопку, я получаю эту ошибку всякий раз, когда я вызываю функцию: «неперехваченным TypeError: Не удается прочитать свойство„setMap“нулевых»Uncaught TypeError: Невозможно прочитать свойство setMap из null

Код:

var map; 
var PathStyle; 

function initialize() { 

var mapDiv = document.getElementById('testerbuttons'); 
google.maps.event.addDomListener(mapDiv, 'click', showAlert); 

$.getJSON("http://whatever.com/test.php", function(roads){ 
var routeseg=Object.keys(roads).length; 
var arr1=[]; 
var filarr=[] 
var router=[]; 
var colorarray=[] 
for (i = 0; i < routeseg; i++) { 
var x=0; 
    $.each(roads[i], function(key, value){ 
    (filarr[x]=value); 
    arr1[i]=new google.maps.LatLng(filarr[3], filarr[4]); 
    colorarray[i]=filarr[5]; 
    x=x+1; 
    }); 
} 

for (var i = 0; i < arr1.length-1; i++) { 
PathStyle = new google.maps.Polyline({ 
    path: [arr1[i], arr1[i+1]], 
    strokeColor:colorarray[i], 
    strokeOpacity: 1.0, 
    strokeWeight: 8, 
    map: map 
    }); 
}}); 


    var mapOptions = { 
zoom: 20, 
center: new google.maps.LatLng(30.0085, 30.9825)}; 

    var map = new google.maps.Map(document.getElementById('map-canvas'), 
    mapOptions);} 

function showAlert(){ 
    PathStyle.setMap(null); 
    } 

google.maps.event.addDomListener(window, 'load', initialize); 
+1

Помните, что 'PathStyle' перезаписывается на каждой итерации цикла? – adeneo

+0

Да, я должен был сделать это, чтобы дать каждому сегменту цвет ... Есть ли другой способ? – MasterWizard

+0

Адрес, куда вы звоните: –

ответ

0

Вам необходимо сохранить ссылки на все сегменты, если вы хотите скрыть все (а не только последние). Вам также необходимо сделать переменную PathStyle не локальной, независимо от функции, которая создает линию.

+0

как я могу держать ссылку? – MasterWizard

+0

Просьба представить [Минимальный, завершенный, проверенный и читаемый пример] (http://stackoverflow.com/help/mcve), который демонстрирует проблему – geocodezip

Смежные вопросы