안녕하세요.
임의로 만든 리스트를 가져와 지도에 마커를 등록하는 과정인데
geocoder.addressSearch 안에만 들어가면 정렬이 엉망이됩니다.
가나다 순으로 정렬되어 있는 리스트를 자기 맘대로 뽑아주는데 혹시 방법이 있는지 궁금합니다. ㅠㅠ
<c:forEach items="${list}" var=“truck” >
// 주소로 좌표를 검색합니다
geocoder.addressSearch("${truck.address}", function(result, status) {
// 정상적으로 검색이 완료됐으면
if (status === kakao.maps.services.Status.OK) {
var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
/*--거리 구하기-------------------------------------------------------------*/
var startLatLng = new kakao.maps.LatLng(lat, lon);
var endLatLng = new kakao.maps.LatLng(result[0].y, result[0].x) ;
var polyline = new kakao.maps.Polyline({
path: [startLatLng, endLatLng]
});
// 1.5km 이내에 있는 트럭들 표시
if(polyline.getLength()<1000){
// 결과값으로 받은 위치를 마커로 표시합니다
var marker = new kakao.maps.Marker({
clickable:true,
map: map,
position: coords,
image : new kakao.maps.MarkerImage("fttruck.png", new kakao.maps.Size(24, 35)) // 마커 이미지
});
markers.push(marker);
/*-- 가져온 트럭 리스트에 출력 ---------------------------------------------------------------------------*/
itemStr = '<tr id="${truck.name}"><td>${truck.name}</td>'+
'<td>${truck.address}</td>'+
'<td>${truck.runtime}</td><tr>';
$("#trucklist").append(itemStr);
/*--인포윈도우 추가---------------------------------------------------------------------------*/
var iwContent = '<div style="padding:5px;"><a href="#${truck.name}">${truck.name}</a></div>', // 인포윈도우에 표출될 내용으로 HTML 문자열이나 document element가 가능합니다
iwRemoveable = true; // removeable 속성을 ture 로 설정하면 인포윈도우를 닫을 수 있는 x버튼이 표시됩니다
// 인포윈도우를 생성합니다
var infowindow = new kakao.maps.InfoWindow({
content : iwContent,
removable : iwRemoveable
});
// 마커에 클릭이벤트를 등록합니다
kakao.maps.event.addListener(marker, 'click', function() {
// 마커 위에 인포윈도우를 표시합니다
infowindow.open(map, marker);
});
}
}else{
alert("검새결과가 없습니다.")
}
});
</c:forEach>