안녕하세요.
현재 이미지 마커를 사용하는 중인데
혹시 마커에 이미지파일을 1개만 적용시키지 않고 2개를 적용시킬 수 있는 방법이 있는지
문의드리고자 글 남깁니다.
안녕하세요.
현재 이미지 마커를 사용하는 중인데
혹시 마커에 이미지파일을 1개만 적용시키지 않고 2개를 적용시킬 수 있는 방법이 있는지
문의드리고자 글 남깁니다.
src가 다른 markerImage 객체를 하나 더 생성하고 marker에 적용시키면 됩니다.
아래 소스코드 참고해주세요.
<div id="map" style="width:100%;height:350px;"></div>
<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 redImageSrc = 'http://t1.daumcdn.net/localimg/localimages/07/mapapidoc/marker_red.png';
// 마커이미지의 크기입니다
var redImageSize = new kakao.maps.Size(64, 69);
// 마커이미지의 옵션입니다. 마커의 좌표와 일치시킬 이미지 안에서의 좌표를 설정합니다.
var redImageOption = {offset: new kakao.maps.Point(27, 69)};
// 마커 이미지를 생성합니다
var redMarkerImage = new kakao.maps.MarkerImage(redImageSrc, redImageSize, redImageOption);
// 마커 이미지의 이미지 주소입니다
var yellowImageSrc = "http://t1.daumcdn.net/localimg/localimages/07/mapapidoc/markerStar.png";
// 마커 이미지의 이미지 크기 입니다
var yellowImageSize = new kakao.maps.Size(24, 35);
// 마커 이미지를 생성합니다
var yellowMarkerImage = new kakao.maps.MarkerImage(imageSrc, imageSize);
for (var i = 0; i < positions.length; i ++) {
if(i%2 === 0) {
// 노랑 마커를 생성합니다
var yellowMarker = new kakao.maps.Marker({
map: map, // 마커를 표시할 지도
position: positions[i].latlng, // 마커를 표시할 위치
title : positions[i].title, // 마커의 타이틀, 마커에 마우스를 올리면 타이틀이 표시됩니다
image : yellowMarkerImage // 마커 이미지
});
} else {
// 빨강 마커를 생성합니다
var redMarker = new kakao.maps.Marker({
map: map, // 마커를 표시할 지도
position: positions[i].latlng, // 마커를 표시할 위치
title : positions[i].title, // 마커의 타이틀, 마커에 마우스를 올리면 타이틀이 표시됩니다
image : redMarkerImage // 마커 이미지
});
}
}
</script>