네이버 지도 api 질문 드립니다. 채택완료
kujira
8년 전
조회 5,953
네이버 지도 api를 사용하려고 하는데 막히는 부분이 있어 질문 드립니다.
</p><p> // 주소에 따른 좌표 정보 가져오기 </p><p><span class="Apple-tab-span" style="white-space:pre"> </span>function getNaverGeocode($addr, $cId, $cSecret) {</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $addr = urlencode($addr);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $url = "<a href="<a href="https://openapi.naver.com/v1/map/geocode?encoding=utf-8&coord=latlng&output=json&query=" target="_blank" rel="noopener noreferrer">https://openapi.naver.com/v1/map/geocode?encoding=utf-8&coord=latlng&output=json&query=</a>"><a href="https://openapi.naver.com/v1/map/geocode?encoding=utf-8&coord=latlng&output=json&query=" target="_blank" rel="noopener noreferrer">https://openapi.naver.com/v1/map/geocode?encoding=utf-8&coord=latlng&output=json&query=</a></a>".$addr;</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $headers = array();</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $headers[] = "GET <a href="<a href="https://openapi.naver.com/v1/map/geocode?" target="_blank" rel="noopener noreferrer">https://openapi.naver.com/v1/map/geocode?</a>"><a href="https://openapi.naver.com/v1/map/geocode?" target="_blank" rel="noopener noreferrer">https://openapi.naver.com/v1/map/geocode?</a></a>".$addr;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $headers[] ="Host: openapi.naver.com";</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $headers[] ="Accept: */*";</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $headers[] ="Content-Type: application/json";</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $headers[] ="X-Naver-Client-Id: ".$cId;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $headers[] ="X-Naver-Client-Secret: ".$cSecret;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $headers[] ="Connection: Close";</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $result = getHttp($url, $headers);</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span> return $result;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>}</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span>// curl 통신 하기 </p><p><span class="Apple-tab-span" style="white-space:pre"> </span>function getHttp($url, $headers=null)</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $ch = curl_init();</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span> curl_setopt($ch, CURLOPT_URL, $url);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> curl_setopt($ch, CURLOPT_HEADER, false);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $result = curl_exec($ch);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> curl_close($ch);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span> return $result;</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span> $geo = getNaverGeocode($addr, $cId, $cSecret);</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span>$data = json_decode($geo,1);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>$map_x_point = $data['result']['items'][0]['point']['x'];</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>$map_y_point = $data['result']['items'][0]['point']['y'];</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>}</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span>?></p><p><span class="Apple-tab-span" style="white-space:pre"> </span><!-- 네이버 지도 키 값 --></p><p><span class="Apple-tab-span" style="white-space:pre"> </span><!-- 네이버 지도 키 값 --></p><p><span class="Apple-tab-span" style="white-space:pre"> </span><script type="text/javascript" src="<a href="<a href="http://openapi.map.naver.com/openapi/v2/maps.js?clientId=<?=$clientId?>" target="_blank" rel="noopener noreferrer">http://openapi.map.naver.com/openapi/v2/maps.js?clientId=<?=$clientId?></a>"><a href="http://openapi.map.naver.com/openapi/v2/maps.js?clientId=<?=$clientId?>" target="_blank" rel="noopener noreferrer">http://openapi.map.naver.com/openapi/v2/maps.js?clientId=<?=$clientId?></a></a>"></script></p><p><span class="Apple-tab-span" style="white-space:pre"> </span><!-- 지도 출력 --></p><p><span class="Apple-tab-span" style="white-space:pre"> </span><div id='map_map' style="position:relative; left:0; top:0;"></div></p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span><script type="text/javascript"></p><p><span class="Apple-tab-span" style="white-space:pre"> </span>var oPoint = new nhn.api.map.LatLng( 37.49236, 127.0307201);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>nhn.api.map.setDefaultPoint('LatLng');</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>oMap = new nhn.api.map.Map('map_map' ,{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> point : oPoint,</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> zoom : 10,</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> enableWheelZoom : true,</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> enableDragPan : true,</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> enableDblClickZoom : false,</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> mapMode : 0,</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> activateTrafficMap : false,</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> activateBicycleMap : false,</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> minMaxLevel : [ 1, 14 ],</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> size : new nhn.api.map.Size(500,500)</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>});</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>var sIcon = new nhn.api.map.Icon("/img/map_icon.png", new nhn.api.map.Size(40,40) );</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>var oMarker1 = new nhn.api.map.Marker(sIcon , {</p><p><span class="Apple-tab-span" style="white-space:pre"> </span> point: new nhn.api.map.LatLng( 37.49236, 127.0307201)</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>});</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>oMap.addOverlay(oMarker1);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span></script></p><p>
제가 원하는건 지도를 포함한 페이지가 로딩될때 이미 주소는 db에서 불러오구요 그 불러온 주소를 좌표로 변환해서 다시 받아 $map_x_point, $map_y_point 를 사용해야 될 것 같은데요.
문제는 페이지가 로딩될때 주소를 어떻게 네이버에 넘기고 또 어떻게 받아서 오는지를 모르겠습니다.
파싱은 지식이 거의 전무한 상태라 도움을 요청드립니다.
예제 소스도 주시면 감사드리겠습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
8년 전
주소를 좌표로 가져오시고 변환된 좌표를 넣으시면 됩니다
아래 블로그 상단 api참고하세여
<a href="http://m.blog.naver.com/mmmsolzer/220133541577" target="_blank" rel="noopener noreferrer">http://m.blog.naver.com/mmmsolzer/220133541577</a>
위소스에
$map_y_point 와 x좌표가있네여
위값 찍으시고 latlang에 있는 숫자 좌표에다가 추가하세여
아래 블로그 상단 api참고하세여
<a href="http://m.blog.naver.com/mmmsolzer/220133541577" target="_blank" rel="noopener noreferrer">http://m.blog.naver.com/mmmsolzer/220133541577</a>
위소스에
$map_y_point 와 x좌표가있네여
위값 찍으시고 latlang에 있는 숫자 좌표에다가 추가하세여
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
k
kujira
8년 전
답글 감사합니다. 그런데 제가 질문 드리는것은 주소를 좌표로 가져오는걸 어떻게 가져오느냐 하는것 입니다ㅜㅜ
댓글을 작성하려면 로그인이 필요합니다.
8년 전
혹시 이 좌표라는게 위도 경도 말씀하시는건지?
구글지도에서 해당주소 검색하신후
지도상의 마커에 오른쪽메뉴 클릭하고
이곳이 궁금한가요?
누르시면 해당주소에 대한 위도 경도 좌표가 나옵니다~
도움이 되셨으면 하네요^^
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
k
kujira
8년 전
답글 감사합니다. 제 질문은 제 사이트의 지도를 포함한 페이지가 열릴때 자동으로 네이버에 주소를 보내고 그 주소가 좌표로 변환되면 그것을 다시 제 페이지에서 받아 지도를 그 좌표에 표시하는걸 질문드리는 겁니다....ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인