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>