2013-12-13 4 views
0

Я пытаюсь использовать JavaScript API для GoogleMaps, чтобы нарисовать кучу строк, но я продолжаю получать синтаксические ошибки, которые я не понимаю. Мои данные хранятся как таковые:Рисование многих строк с помощью API GoogleMaps

var line_map = {}; 
line_map['l1'] = { 
    path: [new google.maps.LatLng(42.3581, -71.0636), new google.maps.LatLng(42.351821, -71.045461)], 
    weight: 2 
}; 

Со многими другими строками. Затем я пытаюсь использовать его следующим образом:

for (var entry in line_map) { 
    var line = new google.maps.Polyline({ 
     path: entry.path, 
     geodesic: true, 
     strokeColor: '#FF0000', 
     strokeOpacity: 1.0, 
     strokeWeight: entry.weight 
    }); 

    // Add the line to map 
    line.setMap(map); 
    } 

Однако я получаю сообщение об ошибке, что говорит Invalid value for constructor parameter 0: undefined

Я понимаю, что это говорит entry.path неопределен, но я почему, потому что я четко не понимаю определил его в записи для l1

ответ

3

Вы должны изменить это:

path: entry.path

в

path: line_map[entry].path

И сделать то же самое с weight. Отъезд this working fiddle - Я изменил некоторые координаты, чтобы увидеть линию.

EDIT: есть также хорошее объяснение по поводу this post про ... для цикла и объектов.

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