Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 강아지종류
- 반려견 종류
- 쿠팡메크로
- 국비지원 예습
- 쿠팡매크로
- 반려견 유기농
- 샤로수길 맛집
- 강아지 홀리스틱
- 반려견 홀리스틱
- 강아지 더위
- 반려견
- 부산 맛집
- 티켓팅메크로
- 닥스훈트
- 티켓팅매크로
- 반려견 유기농 사료
- 강아지 종류
- 홀리스틱 유기농
- 강아지 열사병
- 강아지 유기농 사료
- 반려견 열사병
- 반려견 사료등급
- 서울대입구 맛집
- 동인천 맛집
- 샤로수길 데이트
- 강아지
- 신포동 맛집
- 반려견 더위
- 강아지 유기농
- 자동화봇
Archives
- Today
- Total
심심한잉여의 잡동사니
세미프로젝트 - 네이버지도 현위치 구하기 Geolocation 본문
반응형
navigator.geolocation은 VSCODE로만 사용했을 때 사용이 안되어서 사용 불가능한줄 알았지만
Chrome 50 버젼 이후로 HTTP 환경에서 사용이 불가능하게 되어 HTTPS 환경에서만 사용 가능 합니다.
또한 http://localhost 환경에서도 사용이 가능했다.
네이버 맵이 사용방법이 가장 잘 나와있어 네이버 맵을 예시로 들겠다.
var infowindow = new naver.maps.InfoWindow();
function onSuccessGeolocation(position) { //실행할 함수
var location = new naver.maps.LatLng(position.coords.latitude,
position.coords.longitude);
map.setCenter(location); // 지도의 중심을 어디로 잡을것인지 설정하는 코드
map.setZoom(15); // 지도가 얼만큼 줌 되어있는지 설정하는 코드
infowindow.setContent('<div style="padding:20px;">' + 'geolocation.getCurrentPosition() 위치' + '</div>');
// 마커에 안내해줄 문구
infowindow.open(map, location);
console.log('Coordinates: ' + location.toString());
}
function onErrorGeolocation() { // 오류 시 발생될 예외처리용 함수
var center = map.getCenter();
infowindow.setContent('<div style="padding:20px;">' +
'<h5 style="margin-bottom:5px;color:#f00;">Geolocation failed!</h5>'+ "latitude: "+ center.lat() +"<br />longitude: "+ center.lng() +'</div>');
infowindow.open(map, center);
}
$(window).on("load", function() { // 창이 실행되면 현 위치 값 구하는 함수 실행되는 제이쿼리
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(onSuccessGeolocation, onErrorGeolocation);
} else {
var center = map.getCenter();
infowindow.setContent('<div style="padding:20px;"><h5 style="margin-bottom:5px;color:#f00;">Geolocation not supported</h5></div>');
infowindow.open(map, center);
}
});
위 코드를 그대로 복사해서 script에 붙여넣었다.
근데 계속 현 위치 검색이 안되었기에 왜 안되는지 디버깅하는데 오래걸렸다.
이유는 바로 이클립스에서 제공하는 기본브라우저여서 였던 것. 해당 기능은 크롬을 기준으로 잡힌건지
크롬에서만 정상적인 작동을 했다.
이번 디버깅으로 인해 힘이 많이 빠지긴했는데 확실하게 깨닫게 된 것이 있다.
크롬을 통해 테스트를 해야한다는 것을 깨닫게 되었다.
반응형
'코딩일기 > 세미프로젝트' 카테고리의 다른 글
[세미프로젝트/jsp] 인풋 셀렉트로 날짜 옵션 넣기 (0) | 2021.12.21 |
---|---|
세미프로젝트 - AJAX를 이용한 지도 페이지 작성 (0) | 2021.12.08 |
세미프로젝트 - 전기차 충전소 API 정보 불러오기 (2) | 2021.12.07 |
세미 프로젝트 - 지역 검색하여 지도에 표시하기 (0) | 2021.12.03 |
세미프로젝트 시작 (0) | 2021.11.22 |