내 사이트의지도를 보려면 리플릿을 사용하고 있습니다. 동적으로 레이어 스위처를 만들고 싶습니다. 생성자는 객체를 취하며, 키는지도에 표시 할 레이어의 이름이고 값은 레이어 객체 자체입니다. 나는 AJAX가 반환 한 배열로부터 스위처를 동적으로 구현하고있다. 문제는 배열 객체의 값을 새 객체의 키로 가져 오는 방법을 모르겠다는 것입니다. 내 코드는 다음과 같습니다 :자바 스크립트 개체 확장명
$.ajax ({
url: '...',
data: { ... },
dataType: 'json',
success: function (data) {
var overlayMaps = {};
for (var i in data.elems) {
var layer = new Layer (...);
overlayMaps = $.extend ({}, overlayMaps, {data.elems[i].name : layer});
map.addLayer (layer);
}
map.addControl (new L.Control.Layers (baseMaps, overlayMaps));
}
});
제 9 번 줄을 어떻게 할 것입니다. data.elems[i].name
은 일하고 싶지 않습니다. 이 오류가 missing : after property id
이고 이후에 .
을 가리키고 있습니다. 어떤 아이디어?
당신은 무엇을 의미합니까 :
당신이 원하는 대신이의? 그게 가치가 없거나 무엇을 의미합니까? 디버거의 watch list에 data.elems [i]를 추가하면 어떻게 될까요? –개체 키는 ** 문자열 ** 일 수 있습니다 **. 문자열이 아닌 다른 값을 전달하면 문자열로 강제 변환됩니다. –
나는이 오류'missing : after property id'를 얻었고,'data' 다음에'.'를 바로 가리키고 있음을 의미합니다. 죄송합니다. – Nik