Home IT/WEB 카카오맵(kakao maps) 여러개 마커(marker) 만들기

카카오맵(kakao maps) 여러개 마커(marker) 만들기

카카오맵 API 를 이용하여 지도에 여러개 마커를 만드는 방법에 대해서 알아보겠습니다.

inline ad

카카오맵 API 는 아래에 공식문서를 확인하셔서 참고하시면 됩니다.
http://apis.map.kakao.com/web/sample/multipleMarkerImage/

우선 http://apis.map.kakao.com/ 사이트에 들어가셔서 API 키 를 발급 받으셔야 합니다.

<div id="map" style="width:100%;height:350px;"></div>

<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=API키삽입"></script>
<script>
var mapContainer = document.getElementById('map'), // 지도를 표시할 div  
    mapOption = { 
        center: new kakao.maps.LatLng(33.250141, 126.414340), // 지도의 중심좌표
        level: 6 // 지도의 확대 레벨
    };

var map = new kakao.maps.Map(mapContainer, mapOption); // 지도를 생성합니다
 
// 마커를 표시할 위치와 title 객체 배열입니다 
var positions = [
    {
        title: '제주여미지식물원', 
        latlng: new kakao.maps.LatLng(33.252596, 126.414348)
    },
    {
        title: '중문색달해변', 
        latlng: new kakao.maps.LatLng(33.244993, 126.411661)
    },
    {
        title: '퍼시픽랜드 수조관', 
        latlng: new kakao.maps.LatLng(33.244221, 126.417223)
    },
    {
        title: '천재연폭포',
        latlng: new kakao.maps.LatLng(33.250542, 126.416746)
    }
];

// 마커 이미지의 이미지 주소입니다
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 // 마커 이미지 
    });
}
</script>

구글지도를 이용해서 위도, 경도 찾기

우선 지도의 중심좌표를 바꾸면 되는데 구글지도를 활용하여 위도, 경도를 찾을 수 있습니다.
구글 지도 : https://www.google.co.kr/maps

원하는 위치를 오른쪽 마우스를 클릭하면 아래에 위도 경도의 위치를 확인할 수 있습니다. 이 위치 값을 지도의 중심좌표 값을 변경하면 됩니다.

구글지도에서 위도, 경도 찾기

mapOption = {
center: new kakao.maps.LatLng(33.250141, 126.414340), // 지도의 중심좌표
level: 6 // 지도의 확대 레벨
};

그리고 var positions 변수에 마커를 표시할 위치와 TITLE 을 변경해주면 됩니다. 저의 집 근처에 있는 중문 관광지를 입력해봤습니다. 그리고 지도의 확대 레벨을 조절해가면서 전체 마커가 다 보이는지 확인하시면 됩니다.

마커 이미지를 변경하고자 하시면 var imageSrc 변수에 이미지 URL 을 입력하시면 됩니다.

아래는 카카오 맵 API 를 활용하여 여러개 마커가 보이는 걸 확인하실 수 있습니다.

RECENT POSTS

[javscript]API 응답에서 키 값들을 검증하는 방법

API 응답에서 다수의 키 값들을 검증할 때 코드의 중복을 줄이는 것은 유지보수성을 향상시키고, 가독성을 높이는 데 중요합니다. 이를 위해 몇 가지 접근 방법을 사용할...

[javscript]특정 키를 제외하고 두 객체를 비교하는 방법

특정 키를 제외하고 두 객체를 비교하는 작업은 데이터의 동등성을 평가하고 싶을 때 유용합니다. Lodash 라이브러리를 통해서 처리할 수 있는 방법에 대해서 살펴보겠습니다. Lodash를 사용한 특정...

[javscript]배열을 특정 키의 값에 따라 정렬하는 방법, _.orderBy

Lodash의 _.orderBy 메소드를 사용하면 배열을 특정 키의 값에 따라 정렬할 수 있습니다. 이 메소드는 배열의 각 항목을 정렬할 기준이 되는 하나 이상의 속성 이름과...

[css]autoprefixer: end value has mixed support, consider using flex-end instead warning 처리 및 다양한 에러 메시지 의미

이 경고 메시지는 CSS를 처리하는 도구인 Autoprefixer가 justify-content: end; 속성값을 처리하려 할 때 발생합니다. Autoprefixer는 CSS에 벤더 접두사를 자동으로 추가해 주는 도구로, 다양한 브라우저에서 CSS 속성이...