2015-01-13 1 views
0

Есть объект JS вроде этого:Использование JS объекта для инициализации Google Maps типов MapType

console.log (Штаты)

Object {0: "SATELLITE", 1: "HYBRID"} 

Теперь мне нужно, чтобы раздвинуть эти два типов MapType в опции для карт Google:

 var opt = { 
      zoom: 15,  
      center: latlng, 
      mapTypeControlOptions: { 
      mapTypeIds: [google.maps.MapTypeId[States], 'custom_style'] 
      }   
     }; 

Этот OFC не работает. Как вы видите, у меня есть обычная стилизованная карта.

Так что я мог бы сделать:

mapTypeIds: [google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.HYBRID, 'custom_style'] 

, но она должна быть динамичной. Датструктура «государств» не может быть изменена.

ответ

2

Перед тем, как создать переменную, вы можете пройти через States. Затем создайте массив из mapIds, который затем передается в ваш mapTypeIds.

var mapIds = [] 

for (var key in States) { 
    mapIds.push(google.maps.MapTypeId[States[key]]) 
} 

var opt = { 
    zoom: 15,  
    center: latlng, 
    mapTypeControlOptions: { 
    mapTypeIds: mapIds 
    }   
}; 
Смежные вопросы