<script>
Kakao.init('APP KEY');
var mapContainer = document.getElementById('map'), // 지도를 표시할 div
mapOption = {
center: new kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표
level: 10 // 지도의 확대 레벨
};
var map = new kakao.maps.Map(mapContainer, mapOption); // 지도를 생성
//var detailAddr = !!result[0].road_address ? '<div>도로명주소 : ' + result[0].road_address.address_name + '</div>' : '';
function errorCallback(error) {
alert(error.message);
}
if (!!navigator.geolocation) {
navigator.geolocation.getCurrentPosition(successCallback, errorCallback);
} else {
alert("이 브라우저는 Geolocation를 지원하지 않습니다");
}
function successCallback(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
document.getElementById("msg").innerHTML = "위도" + lat + ", 경도:" + lng
var locPosition = new kakao.maps.LatLng(lat, lng), // 마커가 표시될 위치를 geolocation으로 얻어온 좌표로 생성
message = '<div style="padding:5px;">여기에 계신가요?!</div>'; // 인포윈도우에 표시될 내용
// 마커와 인포윈도우를 표시
displayMarker(locPosition, message);
}
function displayMarker(locPosition, message) {
var marker = new kakao.maps.Marker({
map: map,
position: locPosition
});
var iwContent = message, // 인포윈도우에 표시할 내용
iwRemoveable = true;
// 인포윈도우를 생성합니다
var infowindow = new kakao.maps.InfoWindow({
content: iwContent,
removable: iwRemoveable
});
// 인포윈도우를 마커위에 표시
infowindow.open(map, marker);
// 지도 중심좌표를 접속위치로 변경
map.setCenter(locPosition);
}
// 주소-좌표 변환 객체를 생성
var geocoder = new kakao.maps.services.Geocoder(); // 여기서 오류가 뜹니다.
// 오류 내용: Uncaught TypeError: Cannot read property 'Geocoder' of undefined
function searchDetailAddrFromCoords(coords, callback) {
geocoder.coord2Address(lat, lng, callback);
}
var hereIam = geocoder.coord2Address(lat, lng, callback); // hereIam 객체에 좌표값을 주소로 변환한 String 을 받아서 Link 컨테이너 안 address 로 값을 넘기고 싶습니다.
Kakao.Link.createDefaultButton({
container: '#kakao-link-btn',
objectType: 'location',
address: hereIam, // string 타입으로 공유할 위치 주소
addressTitle: '♥︎',
content: {
title: '♥︎♥︎',
description: '♥︎♥︎♥︎',
imageUrl: 'http://mud-kage.kakao.co.kr/dn/bSbH9w/btqgegaEDfW/vD9KKV0hEintg6bZT4v4WK/kakaolink40_original.png',
link: {
mobileWebUrl: 'https://developers.kakao.com',
webUrl: 'https://developers.kakao.com'
}
}
});
var hereIam = geocoder.coord2Address(lat, lng, callback);
위의 코드를 이용해서 hereIam 객체에 좌표값을 주소로 변환한 String 을 받아서 Link 컨테이너 안 address 로 값을 넘기고 싶습니다.
이 코드 실행 전 아래의 코드에서 오류가 뜹니다.
var geocoder = new kakao.maps.services.Geocoder();
–> 오류 내용: Uncaught TypeError: Cannot read property ‘Geocoder’ of undefined
이렇게 하면 String 으로 주소 값을 받을 수 있는지 궁금합니다.
또한 오류 해결을 위해 어떻게 해야 할지 궁금합니다.
추가)
감사합니다.