네이버 지도나 구글 지도 게시판 연동
본문
안녕하세요
그누4에서 사용하던 네이버 지도 연동 소스를 그누5에 사용 할려니 지도가 안나옵니다.
그누5 자체의 어떤 소스와 충돌이 있는지 궁금하네요
지도키값은 네이버에서 받아서 입력하였고 소스보기 하니까 주소 좌표도 잘 읽어 옵니다.
답변 2
<?
//네이버 지도API 좌표값 가져오기
$map_key = "d5be54e01ecc673752b5ce211998e8b4";
$map_addr = "경기도 남양주시 화도읍 마석중앙로 27";
$url = "http://openapi.map.naver.com/api/geocode.php?key=".$map_key."&encoding=utf-8&coord=latlng&query=".$map_addr;
//echo $url."<br/>";
$url = parse_url($url);
$fp = fsockopen($url['host'], 80, $errno, $errstr);
fputs($fp,"GET ".$url["path"].($url["query"] ? '?'.$url["query"] : '')." HTTP/1.0\r\n");
fputs($fp,"Host: " . $url["host"] . "\r\n");
fputs($fp,"User-Agent: PHP script\r\n");
fputs($fp,"Connection: close\r\n\r\n");
$api_txt = fread($fp,1024);
preg_match('/<x>.+<\/x>/',$api_txt, $x);
preg_match('/<y>.+<\/y>/',$api_txt, $y);
$x_point = preg_replace('/[^.0-9]/','',$x[0]);
$y_point = preg_replace('/[^.0-9]/','',$y[0]);
?>
<script type="text/javascript">
try {document.execCommand('BackgroundImageCache', false, true);} catch(e) {}
</script>
<script type="text/javascript" src="http://openapi.map.naver.com/openapi/naverMap.naver?ver=2.0&key=d5be54e01ecc673752b5ce211998e8b4"></script>
<div id="map" style="width:100%;height:400px;border:1px solid #CCCCCC;position:relative;">지도가 들어갈 공간</div>
<script type="text/javascript">
var x_point = <?=$x_point?>;
var y_point = <?=$y_point?>;
var oPoint = new nhn.api.map.LatLng(y_point, x_point);
nhn.api.map.setDefaultPoint('LatLng');
oMap = new nhn.api.map.Map('map' ,{
point : oPoint,
zoom : 8,
enableWheelZoom : true,
enableDragPan : true,
enableDblClickZoom : false,
mapMode : 0,
activateTrafficMap : false,
activateBicycleMap : false,
minMaxLevel : [ 1, 14 ],
size : new nhn.api.map.Size(100%, 400)
});
var mapZoom = new nhn.api.map.ZoomControl(); // 줌 컨트롤 선언
mapTypeChangeButton = new nhn.api.map.MapTypeBtn(2); // 지도 타입 버튼 사용
mapTypeChangeButton.setPosition({top:63, left:50}); // 지도 타입 버튼 위치
oMap.addControl(mapTypeChangeButton);
mapZoom.setPosition({left:10, top:10}); // 줌 컨트롤 위치
oMap.addControl(mapZoom);
var oSize = new nhn.api.map.Size(20, 20);
var oOffset = new nhn.api.map.Size(20, 20);
var oIcon = new nhn.api.map.Icon('http://static.naver.com/maps2/icons/pin_spot2.png', oSize, oOffset);
var oMarker1 = new nhn.api.map.Marker(oIcon, { title : '<?=$sub1_a?>' }); //마커 생성
oMarker1.setPoint(oPoint); //마커 표시할 좌표 선택
oMap.addOverlay(oMarker1);
</script>