https://apis.map.kakao.com/web/sample/multipleMarkerImage/
샘플을 변형하여 마커 클릭시 마커의 좌표 출력을 하려고 하는데 작동하지가 않습니다.
도움을 주세요.
계속 코드를 올려도 코드가 화면에 나오지가 않아요. ㅜㅜ
<div id="map" style="width:100%;height:350px;"></div>
<p id="result"></p>
<script>
var mapContainer = document.getElementById('map'), // 지도를 표시할 div
mapOption = {
center: new kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표
level: 3 // 지도의 확대 레벨
};
var map = new kakao.maps.Map(mapContainer, mapOption); // 지도를 생성합니다
// 마커를 표시할 위치와 title 객체 배열입니다
var positions = [
{
title: '카카오',
latlng: new kakao.maps.LatLng(33.450705, 126.570677)
},
{
title: '생태연못',
latlng: new kakao.maps.LatLng(33.450936, 126.569477)
},
{
title: '텃밭',
latlng: new kakao.maps.LatLng(33.450879, 126.569940)
},
{
title: '근린공원',
latlng: new kakao.maps.LatLng(33.451393, 126.570738)
}
];
// 마커 이미지의 이미지 주소입니다
var imageSrc = "https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/markerStar.png";
for (var i = 0; i < positions.length; i ++) {
// 마커 이미지의 이미지 크기 입니다
var imageSize = new kakao.maps.Size(24, 35);
// 마커 이미지를 생성합니다
var markerImage = new kakao.maps.MarkerImage(imageSrc, imageSize);
// 마커를 생성합니다
var marker = new kakao.maps.Marker({
map: map, // 마커를 표시할 지도
position: positions[i].latlng, // 마커를 표시할 위치
title : positions[i].title, // 마커의 타이틀, 마커에 마우스를 올리면 타이틀이 표시됩니다
image : markerImage // 마커 이미지
});
}
// 마커를 클릭하면 이벤트 발생
kakao.maps.event.addListener(marker, 'click', function() {
// 지도의 레벨을 얻어옵니다
var level = map.getLevel();
// 지도의 중심좌표를 얻어옵니다
var latlng = marker.getposition();
var message = '<p>지도 레벨은 ' + level + ' 이고</p>';
message += '<p>마커의 좌표는 위도 ' + latlng.getLat() + ', 경도 ' + latlng.getLng() + '입니다</p>';
var resultDiv = document.getElementById('result');
resultDiv.innerHTML = message;
});
</script>
https://apis.map.kakao.com/web/sample/multipleMarkerImage/
샘플을 변형하여 마커 클릭시 마커의 좌표 출력을 하려고 하는데 작동하지가 않습니다.
도움을 주세요.
마커 클릭 이벤트를 for문 안으로 넣어주시고
변수의 스코프 유지를 위해서 for문 내 변수를 es6의 let으로 선언하거나
반복문을 forEach문으로 대체해주세요.
그리고 코드에 오탈자가 있습니다.
marker.getPosition(); 로 수정해주세요.
marker.getposition(); // (X)
marker.getPosition(); // (O)