1
루프를 통과 한 JSON 객체의 목록이 있는데 (jQuery Gmap 플러그인을 사용하여 here을 찾음) 해당 객체에 대한 마커를 만들어지도에 추가합니다.JSON상의 Callstack 오버플로 .each
문제는 각 브라우저에서 내가 호출 스택 오버플로 메시지를 얻고 있다는 것입니다 :
크롬Uncaught RangeError: Maximum call stack size exceede
, 파이어 폭스에서
.Too much recursion
이유 또는 수정 방법을 알 수 없습니다.
$('#map_canvas').gmap().bind('init', function (evt, map) {
var webMethod = '<%= NavigationHelper.GetFullUrl("Components/Services/storelocatorservice.asmx/GetStoresByAddress") %>';
var webParam = '{ "address": "Vaartkom 31/9 3000 Leuven", "language": "<%= Sitecore.Context.Language.CultureInfo.TwoLetterISOLanguageName %>", "radius": "15" }';
$.ajax({
type: "POST",
url: webMethod,
data: webParam,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
//$('#map_canvas').gmap('set', 'MarkerClusterer', new MarkerClusterer(map));
addMarkers($.parseJSON(msg.d));
}
});
});
function addMarkers(json) {
$.each(json, function (i, m) {
$('#map_canvas').gmap('addMarker', {
'title': m.Name,
'position': new google.maps.LatLng(m.Lat, m.Long),
'name': m.Name,
'zipcode': m.ZipCode,
'id': m.LocationId,
'bounds': true
}).click(function() {
$('#map_canvas').gmap('openInfoWindow', {
'content': '<h3>' + m.Name + '</h3><p>' + m.ZipCode + '</p><a onclick="getDirections(\'' + m.Id + '\')">Route</a>'
}, this);
});
});
}
어떤 도움이 크게 감사합니다 :
이 내 코드입니다!
+1에 "overflow"라는 단어를 사용하는 경우 :-) –
JavaScript에서 예외가 발생한 행을 알 수 있습니까? 'addMarkers ($ parseJSON (msg.d)); 또는 다른 장소에 있습니까? http://jsfiddle.net/ –
에서 문제를 복제하지 않으면 디버깅하기가 어렵습니다. jsFiddle (http://jsfiddle.net/Extortioner/jYVFz/)에서 successfuly를 다시 작성했으며 문제는 순간에 발생하는 것 같습니다. gmap plugin에서 addmarker를 호출합니다. – Fverswijver