2013-12-11 6 views
1

У меня есть список со списками с объектами внутри них, и мне нужно перебирать каждый объект во всех списках. Это то, что я пробовал, но не работает так, как я предполагаю.Итерация над списком объектов

dict_values([[<mapvis.store.Node object at 0x14fd370>, <mapvis.store.Node object at 0x13c4270>], [<mapvis.store.Node object at 0x14fd930>, <mapvis.store.Node object at 0x14fd490>], ]) 

функция Js

function displayRoads(map) { 
    {% for create_lat_lng in get_lat_lng %} 
     {% for lat_lng in create_lat_lng %} 
     var points = new google.maps.MVCArray(); 
     points.push(new google.maps.LatLng(lat_lng[0].lat, lat_lng[0].lng)); 
     points.push(new google.maps.LatLng(lat_lng[1].lat, lat_lng[1].lng)); 
     createPolyline(map, points); 
    {% endfor %} 
{% endfor %} 
} 

Html THATS генерируется. Я хочу, чтобы иметь фактические значения intstead из lat_lng [0] lng-

function displayRoads(map) { 
    var points = new google.maps.MVCArray(); 
    points.push(new google.maps.LatLng(lat_lng[0].lat, lat_lng[0].lng)); 
    points.push(new google.maps.LatLng(lat_lng[1].lat, lat_lng[1].lng)); 
    createPolyline(map, points); 
... 
.. 
... 
} 
+1

В чем вопрос? – user2357112

+0

Добавил больше информации в вопрос – Pierre

ответ

2

Используйте синтаксис {{ variable }}.

function displayRoads(map) { 
    {% for create_lat_lng in get_lat_lng %} 
     {% for lat_lng in create_lat_lng %} 
     var points = new google.maps.MVCArray(); 
     points.push(new google.maps.LatLng({{ lat_lng.0.lat }}, {{ lat_lng.0.lng }})); 
     points.push(new google.maps.LatLng({{ lat_lng.1.lat }}, {{ lat_lng.1.lng }})); 
     createPolyline(map, points); 
     {% endfor %} 
    {% endfor %} 
} 

Просто для уточнения, {{ lat_lng.0.lat }} означает нулевой индекс доступа на переменную lat_lng, а затем получить значение словаря ключевых lat. Поэтому приведенный выше код предполагает, что lat_lng представляет собой массив/кортеж, содержащий словари.

+0

Это не дает мне никаких значений как this points.push (новый google.maps.LatLng (,)); points.push (новый google.maps.LatLng (,)); – Pierre

+0

Является ли 'lat_lng' массивом или словарем? По вашему коду я предположил, что это массив. Вы можете попробовать '{{lat_lng.lat}}' и '{{lat_lng.lng}}', если это словарь. Мне нужно знать фактическую структуру переменной lat_lng, чтобы дать вам точный ответ. – Rafa

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