Google지도 API를 사용하여 사용자 입력 위치 근처에 상점 위치의지도를 만듭니다. 모든 것이 작동하지만 Internet Explorer에서 오류가 발생했습니다. 제거하고 싶습니다. 오류는 "json.markers [i] .latitude가 null이거나 객체가 아닙니다."입니다. 여기에 코드입니다 :Google지도 및 Internet Explorer Javascript/JSON 문제
function buildGoogMapView(mrkrs,json)
{
var marker=centerLatitude=centerLongitude=startZoom=point=map="";
mrkrs.each(json.gdrcenter, function(i) {
centerLatitude = json.gdrcenter[i].latitude;
centerLongitude = json.gdrcenter[i].longitude;
});
mrkrs.each(json.gdrzoom, function(i) {
startZoom = json.gdrzoom[i].setting;
});
startZoom = Number(startZoom);
map = new GMap2(document.getElementById("mapGOOG_PlaceHolder"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(centerLatitude, centerLongitude),startZoom);
mrkrs.each(json.markers, function(i) {
point = new GLatLng(json.markers[i].latitude,json.markers[i].longitude);
marker = createMarker(point,json.markers[i].description);
map.addOverlay(marker);
});}
그리고 여기에 요청에 따라 JSON 객체가, (나는 비밀을 목적으로 일부 값을 변경했습니다)이다 : 나는 다른 어떤에서이 오류를받지 못했습니다
{"gdrzoom":[
{"setting":"7"}],
"gdrcenter":[
{"latitude":"35.5",
"longitude":"-79.6"}],
"markers":[
{"latitude":"35.0",
"longitude":"-78.9",
"name":"Store",
"description":"DESCVALUE"},
{"latitude":"36.0",
"longitude":"-79.8",
"name":"Store",
"description":"DESCVALUE"},
{"latitude":"35.5",
"longitude":"-80.8",
"name":"Store",
"description":"DESCVALUE"}]}
브라우저, json 객체에 올바른 정보가 들어 있다는 것을 알고 있습니다. 또한 스크립트를 페이지 끝으로 이동하여 단순한 스크립트가 아닌지 확인했습니다 (그렇지 않은 경우).
아이디어가 있으십니까? 이 변경
는 http://jsonlint.com/를 사용하여 JSON을 확인 IE는 쉼표가 싫어! – ManseUK
JSON 개체에 추가 배열 항목이 없습니다. 아이디어를 가져 주셔서 감사합니다. –
json을 포함 할 수 있습니까? 즉 질문에 게시하거나 http://jsfiddle.net – ManseUK