네이버 API 지도 연동
본문
G5로 만든 홈페이지에 회사 오시는길에 네이버 API지도를 넣고 싶어서 작업중입니다.
일단 네이버API 연동 소스에 클라이언트 키값을 넣어서, 지도가 뜨게하는 것 까지는 성공을 했습니다.
문제는 지도가 지금 서울역 부근으로 보이는데요. 저희 회사 주소를 넣어서, 최초에 보이는 지도와
깃발위치를 설정해야 할 것 같은데요.
일반 주소 (경기도 성남시 분당구 ..... )를 입력해서 네이버 API 지도 좌표(37.486673, 127.023348)
를 얻으려면 어떻게 해야 하나요?
제가 사용한 소스에는 주소 관련한 부분은 없고, 네이버 API 지도 좌표값을 넣는 부분만 있네요.
원하는 위치를 표시하려면, 주소를 좌표로 표현해서 넣어야 하는 것 같은데요.
도움 부탁 드립니다.
답변 2
1) 네. 해당값들 입력해서 사용하시면 돼요.
2) 함수 끝부분쪽
$xml = simplexml_load_string($res);
return array("x"=>$xml->items->item->point->x, "y"=>$xml->items->item->point->y);
이부분을
echo $res;
해서 찍어보시면 돼요. xml 반환값 출력될텐데 혹시 헷갈리시면 소스보기해서 보시면
x, y 값 제대로 보실수 있으세요.
$address="경기도 성남시 분당구 ........... (검색하고자 하는 주소)";
function get_geocode($address) {
$ch = curl_init();
$address = urlencode($address);
$encoding="utf-8";
$coord="latlng";
$output="xml";
$qry_str = "?encoding=".$encoding."&coord=".$coord."&output=".$output."&query=".$address;
$headers = array(
"X-Naver-Client-Id: 발급받은 Client ID 값",
"X-Naver-Client-Secret: 발급받은 Client Secret 값"
);
$url="https://openapi.naver.com/v1/map/geocode";
curl_setopt($ch, CURLOPT_URL, $url.$qry_str);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res =curl_exec($ch);
curl_close($ch);
$xml = simplexml_load_string($res);
return array("x"=>$xml->items->item->point->x, "y"=>$xml->items->item->point->y);
}
$get_code=get_geocode($address);
print_r($get_code);
서버에 simplexml 모듈이 설치되어 있지 않으시면 함수 부분에 $res 값 echo 로 출력해서
보시면 x, y 값 확인하실수 있으세요.