2013-09-24 3 views
0

Я хочу использовать 2 или более json-файла для создания маркеров (проще вносить изменения, так как файлы короче). Файлы идентичны по конструкции, но когда я добавляю их в свой код, я получаю только данные из последнего.Ссылка на файл json на моей карте

Я переименовал данные в var jsonsl и var jsonpm, но, похоже, не смог слить их.

Код Я могу работать, это только, но работает только по одному файлу за раз.

<script type="text/javascript" src="js/mapping_1sl.js"></script> 
<script type="text/javascript" src="js/mapping_1pm.js"></script> 

var gmarkers = []; 
function initialize() { 
    var latlng = new google.maps.LatLng(53.995391,-3.795069); 
    var myOptions = { 
     zoom: 6, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     mapTypeControl: true, 
    }; 

var map = new google.maps.Map(document.getElementById("map"),myOptions); 



var categoryIcons = {} 
    for (var i = 0; i < jsonsl.length; i++) { 
      var data = jsonsl[i], 
     latLng = new google.maps.LatLng(data.Latitude, data.Longitude); 
     var marker = new google.maps.Marker({ 
      position: latLng, 
      map : map, 
      title : data.Name, 
      icon : categoryIcons[data.ConnectorType], 
     }); 

Любая помощь или совет будут оценены.

Подробнее:

Файлы установлены одни и те же, просто разные названия:

var jsonsl = [{ 
     "Name" : "2 Riddons Road", 
     "Latitude" : 51.43145362, 
     "Longitude" : 0.031174836, 
     "PostCode" : "SE12 9QR", 
     "Address" : "Riddons Road, jctn with Chinbrook Road, Lewisham , London, SE12 9QR", 
     "Count" : 1, 
     "Information" : "3-pin square", 
     "Connection" : "BS 1363", 
     "ChargeRate" : "Standard (up to 3.7kW, 13-16A)", 
     "ConnectorType" : 1, 
     "Operator" : "Source London", 

    }] 

и

var jsonpm = [{ 
     "Name" : "Cornthwaite Road", 
     "Latitude" : 51.55798957, 
     "Longitude" : -0.052563915, 
     "PostCode" : "E5 9QL", 
     "Address" : "Cornthwaite Road south of Thistlethwaite Road, Hackney, London, E5 9QL", 
     "Count" : 1, 
     "Information" : "7-pin 'Smart' eg Mennekes", 
     "Connection" : "IEC 62196 Fast", 
     "ChargeRate" : "Fast (7kW, 32A)", 
     "ConnectorType" : 2, 
     "Operator" : "Source London",  
    }] 
+0

Что те, файлы выглядят? Используют ли они (переписывают) одну и ту же переменную? – geocodezip

+0

Файлы настроены одинаково по-разному. –

+0

Тогда это твоя проблема. – geocodezip

ответ

0

Вы только процесс в данных в одном из файлов (jsons1):

for (var i = 0; i < jsonsl.length; i++) { 
     var data = jsonsl[i], 
    latLng = new google.maps.LatLng(data.Latitude, data.Longitude); 
    var marker = new google.maps.Marker({ 
     position: latLng, 
     map : map, 
     title : data.Name, 
     icon : categoryIcons[data.ConnectorType], 
    }); 
} 

Вам нужно обрабатывать как:

for (var i = 0; i < jsonsl.length; i++) { 
     var data = jsonsl[i], 
     latLng = new google.maps.LatLng(data.Latitude, data.Longitude); 
     var marker = new google.maps.Marker({ 
     position: latLng, 
     map : map, 
     title : data.Name, 
     icon : categoryIcons[data.ConnectorType], 
     }); 
} 
for (var i = 0; i < jsonspm.length; i++) { 
     var data = jsonspm[i], 
     latLng = new google.maps.LatLng(data.Latitude, data.Longitude); 
     var marker = new google.maps.Marker({ 
     position: latLng, 
     map : map, 
     title : data.Name, 
     icon : categoryIcons[data.ConnectorType], 
     }); 
} 

(если вы собираетесь делать это еще можно сделать это функция, которая принимает имя данных и добавляет его к карте)

+0

Спасибо за совет, попробовали и работают хорошо, возится, чтобы попытаться сжать немного. –

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