2013-09-24 4 views
0

2 개 이상의 json 파일을 사용하여 마커를 생성하고 싶습니다 (파일이 짧아짐에 따라 변경하기 쉽습니다). 파일은 구조가 동일하지만 코드에 추가하면 마지막 부분의 정보 만 가져옵니다.내지도에 2 개의 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

조언을 주셔서 감사 드리며 노력하고 잘 작동하고 약간 시도해 보려고 고생 할 것입니다. –

관련 문제