다음지도 api 잘 아시는분
본문
회원가입할때 주소찾기부분에 다음 api 주소를 사용하여 적용하는데
가입완료시
그 주소를 바탕으로 좌표로 뽑아 Lat, Lng 를 각각 mb_1 과 mb_2 에 삽입할수 잇는 방법이 잇는지요?
답변 1
<body onload="init()">
<!----다음 지도 api key--->
<script type="text/javascript" src="http://apis.daum.net/maps/maps3.js?apikey=키값" charset="utf-8"></script>
<?
include_once("dbcon.php");
//**회원아이디에서 주소뽑기 쿼리추가**//
$addr = $row[mb_addr1]."".$row[mb_addr2];
// $addr = "서울 동작구 사당1동";
$addr = urlencode($addr);
$file = "http://apis.daum.net/local/geo/addr2coord?apikey=키값&q=".$addr."&output=json&inputCoordSystem=WGS84";
//다음 로컬 api key값 추가하기
///외부파일 불러오기 함수
function get_url_fsockopen( $url ) {
$URL_parsed = parse_url($url);
$host = $URL_parsed["host"];
$port = $URL_parsed["port"];
if ($port==0)
$port = 80;
$path = $URL_parsed["path"];
if ($URL_parsed["query"] != "")
$path .= "?".$URL_parsed["query"];
$out = "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n";
$fp = fsockopen($host, $port, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs($fp, $out);
$body = false;
while (!feof($fp)) {
$s = fgets($fp, 128);
if ( $body )
$in .= $s;
if ( $s == "\r\n" )
$body = true;
}
fclose($fp);
return $in;
}
}
$json_list = get_url_fsockopen($file);
$json_list = str_replace('\\','',$json_list);
$json_list = json_decode($json_list,true);
if((!$json_list[channel][item][0][lat]) || (!$json_list[channel][item][0][lng])){
echo iconv('utf-8','euc-kr', "주소 정보를 찾을 수 없습니다.not found!");
}
?>
<script type="text/javascript">
var map;
function init() {
map = new daum.maps.Map(document.getElementById('map'), {
center: new daum.maps.LatLng(<?=$json_list[channel][item][0][lat]?>, <?=$json_list[channel][item][0][lng]?>),
level:4
});
var marker = new daum.maps.Marker({
position: new daum.maps.LatLng(<?=$json_list[channel][item][0][lat]?>, <?=$json_list[channel][item][0][lng]?>)
});
marker.setMap(map);
}
</script>
<div id="map" style="min-width:320px; max-width:640px; height:230px;"></div>
제가 사용하는 소스입니다. 주소를 이용한 다음 api사용