[FAQ] 지도/로컬 API 문의 전 꼭 읽어 주세요.
// 마커 정보를 셋팅한다.
function setMarker3(org) {
org = JSON.parse(org);
var index = org.index;
var data = org.data;
var imgSrc = imgSrc4;
if (index == "1") {
imgSrc = imgSrc1;
} else if (index == "2") {
imgSrc = imgSrc2;
} else if (index == "3") {
imgSrc = imgSrc3;
}
//alert("22222222222222 "+markerInfo.length);
var imgSize = null;
var markerImage = null;
var marker = null;
let fragment = document.createDocumentFragment();
listEl = document.getElementById('placesList'); //좌측메뉴 SPOT Element 정보
removeAllChildNods(listEl); // spotList를 지운다.
//alert(markerInfo);
//removeMarker();
for (var k= 0; k< markerInfo.length; k++ ) {
//infowindow.close();
markerInfo[k].setMap();
//alert(markerInfo[k]);
}
//markerInfo = [];
// 마커 정보를 생성한다.
$.each(data, function(index, obj) {
var a = "<div style ='font-style:italic; border-radius:30px;'>"+obj.svcNm+"</div>";
var b = obj.distance; //사고장소와의거리
markerInfo.push({
grgId : obj.grgId,
//title : obj.svcNm,
title : a,
sendtitle : obj.svcNm,
distance : b,
latlng : new kakao.maps.LatLng(obj.lngt, obj.la),
x : obj.la,
y : obj.lngt,
addr : obj.addr,
csntsYn : obj.csntsYn,
imageSrc : imgSrc,
imageSize : new kakao.maps.Size(35,31)
});
});
$.each(markerInfo,function(index,obj) {
var imgOptions = {
spriteSize : new kakao.maps.Size(36, 691), // 스프라이트 이미지의 크기
spriteOrigin : new kakao.maps.Point(0, (index*46)+10), // 스프라이트 이미지 중 사용할 영역의 좌상단 좌표
offset: new kakao.maps.Point(13, 37) // 마커 좌표에 일치시킬 이미지 내에서의 좌표
}
// 마커 이미지 생성
markerImage = new kakao.maps.MarkerImage(obj.imageSrc, obj.imageSize);
//markerImage = new kakao.maps.MarkerImage(obj.imageSrc, obj.imageSize,imgOptions);
//마커 생성
marker = new kakao.maps.Marker({
map : map,
title : obj.title,
position: obj.latlng,
image: markerImage
});
// 마커에 주소를 표시한다.
if(flag_showAddr == true) {
if(obj.addr == null ) {
obj.addr = getAddrByGCS({x:obj.x, y:obj.y});
}
//displayInfowindow(marker, obj.title, obj.addr);
}
// 커스텀 오버레이에 표출될 내용으로 HTML 문자열이나 document element가 가능합니다
var content = '<div class="customoverlay">' +
' <span class="title">'+obj.title+'</span>' +
'</div>';
// 커스텀 오버레이가 표시될 위치입니다
//var position_c = new kakao.maps.LatLng(37.54699, 127.09598);
// 커스텀 오버레이를 생성합니다
if(obj.title =="<div style ='font-style:italic; border-radius:30px;'>사고장소</div>"){
customOverlay = new kakao.maps.CustomOverlay({
map: map,
position: obj.latlng,
content: content,
yAnchor: 0.1
});
}
map.panTo(marker.n);
// 마커에 이벤트를 등록한다.
// if(flag_markerClick == true) {
// setMarkerEvent(marker, obj.title, obj, markerInfo);
// }
let itemEl = getSpotListEl(index, obj); // 검색 결과 항목 Element를 생성합니다
// 왼쪽 메뉴 클릭이벤트
itemEl.onclick = function () {
// 지도 중심을 부드럽게 이동시킵니다
// 만약 이동할 거리가 지도 화면보다 크면 부드러운 효과 없이 이동합니다
var moveLatLng = new kakao.maps.LatLng(obj.y, obj.x);
map.panTo(moveLatLng);
//displayInfowindow2(marker, obj.title, obj.addr,obj.x, obj.y);
};
// 왼쪽 메뉴 더블클릭이벤트
itemEl.ondblclick = function () {
//nexacro platform으로 선택된 주소 data넘겨주기
if(obj.title=="<div style ='font-style:italic; border-radius:30px;'>사고장소</div>"){
var str = "acci"+","+obj.title +"," + obj.addr;
window.NEXACROHTML.FireUserNotify(str);
}else{
var str = "ondblclick"+","+obj.sendtitle +"," + obj.addr;
window.NEXACROHTML.FireUserNotify(str);
}
}
fragment.appendChild(itemEl);
});
if(flag_left) {
// 검색결과 항목들을 검색결과 목록 Element에 추가합니다
listEl.appendChild(fragment);
}
}
현재 넥사크로라는 UI툴에 연동해서 카카오맵을 사용중인데
리스트를 조회해서
해당함수를 호출하게 되면
setmap 속성을 불러올수 없다고 하는데 어떤게 문제일까요? ㅠㅠ