테스트 사이트 - 개발 중인 베타 버전입니다

어휴~~밤을 꼬박 샜는데...똑같은 문자열인데....왜 안되는지? 채택완료

진강산가재 2년 전 조회 1,928

안녕하세요.

지도 좌표값을 jquery로 쿼리해서 뿌려주는 작업입니다.

 

 $.ajax({

            url: 'https://sample.co.kr/skin/content/map/query.php',

            data: { lat: latitude, lng: longitude },

            method: 'GET',

            success: function(positions) {

           ....생략

 

질문) 위의  success: function(positions) 아래에 

 

                console.log(positions);해서 크롬 콘솔에서 값을 보면 

                문자열 "[ {'lat':37.1973520849,'lng' : 125.990807372,'title': '굴업도'} ];" 이게 보입니다.

positions변수에 담긴 것을 그대로 좌표값으로  쓰면 좌표가 찍히지 않습니다.

그런데 그 문자열 그대로 아래 코드로 하면 좌표가 찍힙니다.

               var positions= [ {'lat':37.1973520849,'lng' : 125.990807372,'title': '굴업도'} ];

그런데 이걸 문자열 변수로 만들어 여기에 쌍따옴표를 붙이면 좌표가 찍히지 않습니다.

               var positions= "[ {'lat':37.1973520849,'lng' : 125.990807372,'title': '굴업도'} ];"

 

이 차이 같은데 어떻게 문제를 해결해야 할까요?

 

 

 

 

 

                 

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

채택된 답변
+20 포인트
s
2년 전

안되는 문자열이  "[ {'lat':37.1973520849,'lng' : 125.990807372,'title': '굴업도'} ];"  이게 맞나요?

맞다면 문자열의 제일마지막에 반두점 ; 기호는 불필요한것 같습니다. 이때문에 발생하는 문제가 아닐까 생각되어 집니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

String 와 Array 는 다른 거구요.

따옴표 없이

positions[0] 이나 positions['lat'] 으로 한번 줘 보세요.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

진강산가재
2년 전
감사드립니다.
꾸벅

댓글을 작성하려면 로그인이 필요합니다.

s
sinbi Expert
2년 전
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

진강산가재
2년 전
감사드립니다.
꾸벅

댓글을 작성하려면 로그인이 필요합니다.

답변에 대한 댓글 1개

진강산가재
2년 전
감사드립니다.
꾸벅

댓글을 작성하려면 로그인이 필요합니다.

2년 전

positions.lat

positions.lng

positions.title

위와 같이 접근해 보세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

진강산가재
2년 전
감사드립니다.
꾸벅

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인