어휴~~밤을 꼬박 샜는데...똑같은 문자열인데....왜 안되는지? 채택완료
안녕하세요.
지도 좌표값을 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개
안되는 문자열이 "[ {'lat':37.1973520849,'lng' : 125.990807372,'title': '굴업도'} ];" 이게 맞나요?
맞다면 문자열의 제일마지막에 반두점 ; 기호는 불필요한것 같습니다. 이때문에 발생하는 문제가 아닐까 생각되어 집니다.
댓글을 작성하려면 로그인이 필요합니다.
String 와 Array 는 다른 거구요.
따옴표 없이
positions[0] 이나 positions['lat'] 으로 한번 줘 보세요.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
꾸벅
댓글을 작성하려면 로그인이 필요합니다.
success: function(positions) {
positions = JSON.parse(positions);
console.log(positions);
}
문자열과 배열은 완전히 다른겁니다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures">https://developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse">https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse
답변에 대한 댓글 1개
꾸벅
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
꾸벅