[leaflet] Map 지도 + leaflet // DB 저장된 마크 띄우기 (7)

Yuni·2023년 4월 14일
0

지도

목록 보기
7/12

1. 코드작성

MapController

@GetMapping("/")
	public String main(Model model){
		model.addAttribute("list", mapservice.callSpot());
		return "map";
	}

SpotVO

public class SpotVO {
	private String name; // 이름
	private String lat; // 위도
	private String lng; // 경도
	
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getLat() {
		return lat;
	}
	public void setLat(String lat) {
		this.lat = lat;
	}
	public String getLng() {
		return lng;
	}
	public void setLng(String lng) {
		this.lng = lng;
	}
	
	@Override
	public String toString() {
		return "spotVO [name=" + name + ", lat=" + lat + ", lng=" + lng + "]";
	}
}

MapService.java

public List<SpotVO> callSpot() {
	return mapper.callSpot();
}

MapMapper.java

@Mapper
public interface MapMapper {
	
	public List<SpotVO> callSpot();
}

MapMapper.xml

<resultMap type="com.domain.SpotVO" id="SpotResult">
	<result column="name" property="name" />
	<result column="lat" property="lat" />
	<result column="lng" property="lng" />
</resultMap>

<select id="callSpot" resultMap="SpotResult">
	SELECT * FROM tbl_map 
</select>

map.jsp

<script> // navigator.geolocation.getCurrentPosition(function(pos) { 여기작성 }); 
<c:forEach items="${list}" var="item">
		L.marker([${item.lat}, ${item.lng}]).addTo(mymap)
		.bindPopup("<div>이름: ${item.name}</div><div>위도: ${item.lat}</div><div>경도: ${item.lng}</div>")
		.openPopup();
</c:forEach>
</script>

profile
backend developers

0개의 댓글