form 이 적용이 안됩니다. 이유를 모르겠어요. 채택완료
네이버 지도 api 를 써볼려고 하는데 naver 에서 제공하는 기본 예제를 약간 변경시켰는데...
주소를 "풍덕천로" 라고 입력했습니다.
form 을 쓰지 않은 소스는 정상적으로 출력이 됩니다.: http://awamp.duckdns.org/navermap.php
form 을 써서 검색을 하면 안됩니다. : http://awamp.duckdns.org/navermap2.php 이렇게 하면 검색어를 바꿔도 항상 같은 위치만 출력이 되는데 이유를 모르겠습니다.
검색을 하기위해 GET 값을 변수에 넣었는데 뭔가 잘못한건가요?
var myaddress = $_GET['address']; 대신에 도로명을 소스에 직접 넣으면 작동합니다. navermap.php 처럼.....
아래 navermap2.php 의 소스입니다.
Copy
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>네이버 지도 API - 주소로 지도 표시하기</title> <script type="text/javascript" src="https://openapi.map.naver.com/openapi/v3/maps.js?clientId=9DpdzSZN8i4b6ltCv9bT&submodules=geocoder"></script> </head> <body> <div id="map" style="width:100%;height:600px;"></div> <script> var map = new naver.maps.Map('map'); var myaddress = $_GET['address'];// 도로명 주소나 지번 주소만 가능 (건물명 불가!!!!) naver.maps.Service.geocode({address: myaddress}, function(status, response) { if (status !== naver.maps.Service.Status.OK) { return alert(myaddress + '의 검색 결과가 없거나 기타 네트워크 에러'); } var result = response.result; // 검색 결과 갯수: result.total // 첫번째 결과 결과 주소: result.items[0].address // 첫번째 검색 결과 좌표: result.items[0].point.y, result.items[0].point.x var myaddr = new naver.maps.Point(result.items[0].point.x, result.items[0].point.y); map.setCenter(myaddr); // 검색된 좌표로 지도 이동 // 마커 표시 var marker = new naver.maps.Marker({ position: myaddr, map: map }); // 마커 클릭 이벤트 처리 naver.maps.Event.addListener(marker, "click", function(e) { if (infowindow.getMap()) { infowindow.close(); } else { infowindow.open(map, marker); } }); // 마크 클릭시 인포윈도우 오픈 var infowindow = new naver.maps.InfoWindow({ content: '<h4> [네이버 개발자센터]</h4><a href="https://developers.naver.com" target="_blank"><img src="https://developers.naver.com/inc/devcenter/images/nd_img.png"></a>' }); }); </script><form action="navermap2.php" method="get"><input type="text" name="address" "><input type="submit" name="submit" value="Search"></form></body></html>
답변 1개
채택된 답변
+20 포인트
8년 전
$_GET['address']
=>
'<?php echo $_GET['address'] ?>'
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인