diff --git a/src/main/java/osm/surveyor/task/city/TaskController.java b/src/main/java/osm/surveyor/task/city/TaskController.java index 691ebbb..73b88e1 100644 --- a/src/main/java/osm/surveyor/task/city/TaskController.java +++ b/src/main/java/osm/surveyor/task/city/TaskController.java @@ -50,23 +50,35 @@ @RequestParam(name="citycode") String citycode, @RequestParam(name="meshcode") String meshcode) { - City city = cityRepository.getById(citycode); + City city = cityRepository.findByCitycode(citycode); model.addAttribute("citycode", citycode); model.addAttribute("cityname", city.getCityname()); model.addAttribute("meshcode", meshcode); + model.addAttribute("site", city.getSite()); Citymesh mesh = meshRepository.findOne(citycode,meshcode); model.addAttribute("mesh", mesh); - ObjectMapper objectMapper = new ObjectMapper(); String meshstr = "{}"; try { + ObjectMapper objectMapper = new ObjectMapper(); meshstr = objectMapper.writeValueAsString(mesh); } catch (JsonProcessingException e) { e.printStackTrace(); } model.addAttribute("meshstr", meshstr); + model.addAttribute("mesh", mesh); + + String citystr = "{}"; + try { + ObjectMapper objectMapper = new ObjectMapper(); + citystr = objectMapper.writeValueAsString(city); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + model.addAttribute("citystr", citystr); + List tasks = taskRepository.serchByMesh(citycode, meshcode); model.addAttribute("tasks", tasks); return "tasks"; diff --git a/src/main/java/osm/surveyor/task/city/model/City.java b/src/main/java/osm/surveyor/task/city/model/City.java index 6a80d28..199981e 100644 --- a/src/main/java/osm/surveyor/task/city/model/City.java +++ b/src/main/java/osm/surveyor/task/city/model/City.java @@ -11,18 +11,18 @@ import org.springframework.format.annotation.NumberFormat; -import lombok.Getter; -import lombok.Setter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; + +import lombok.Data; import osm.surveyor.task.util.Point; -@Getter -@Setter +@JsonInclude(JsonInclude.Include.NON_NULL) +@Data @Entity @Table(name = "city") public class City { - private static String site; // 全体に適用する - @Id @NumberFormat(pattern="#####") private String citycode; @@ -41,6 +41,8 @@ @NumberFormat private String lat = "0.0"; + private String site; + /** * ステータス @@ -48,14 +50,6 @@ @Enumerated(EnumType.STRING) private Status status = Status.PREPARATION; - public void setSite(String site) { - City.site = site; - } - - public String getSite() { - return City.site; - } - public void setLng(String str) { this.lng = str; } @@ -72,11 +66,13 @@ this.lat = dec.toString(); } + @JsonIgnore public void setPoint(BigDecimal lng, BigDecimal lat) { setLng(lng); setLat(lat); } + @JsonIgnore public void setPoint(String lng, String lat) { setLng(lng); setLat(lat); diff --git a/src/main/resources/static/custom/task.js b/src/main/resources/static/custom/task.js new file mode 100644 index 0000000..171b97f --- /dev/null +++ b/src/main/resources/static/custom/task.js @@ -0,0 +1,19 @@ +var queryString = window.location.search; +var queryObject = new Object(); +if(queryString){ + queryString = queryString.substring(1); + var parameters = queryString.split('&'); + + for (var i = 0; i < parameters.length; i++) { + var element = parameters[i].split('='); + + var paramName = decodeURIComponent(element[0]); + var paramValue = decodeURIComponent(element[1]); + + queryObject[paramName] = paramValue; + } +} + +const citycode = queryObject['citycode']; +const meshcode = queryObject['meshcode']; +const op = queryObject['op']; diff --git a/src/main/resources/templates/meshes.html b/src/main/resources/templates/meshes.html index fb804c1..d3185fb 100644 --- a/src/main/resources/templates/meshes.html +++ b/src/main/resources/templates/meshes.html @@ -56,7 +56,7 @@ // ICON のスタイル style = new ol.style.Style({ image: new ol.style.Icon({ - src: './img/osm_200x200.png', + src: '/task-bldg/img/osm_200x200.png', anchor: [0.5, 0.5], scale: 0.2 }), diff --git a/src/main/resources/templates/tasks.html b/src/main/resources/templates/tasks.html index 4151a86..6c97479 100644 --- a/src/main/resources/templates/tasks.html +++ b/src/main/resources/templates/tasks.html @@ -10,8 +10,10 @@ const meshcode = /*[[${meshcode}]]*/"meshcode"; const tasks = /*[[${tasks}]]*/"tasks"; const meshstr = /*[[${meshstr}]]*/"meshstr"; + const citystr = /*[[${citystr}]]*/"citystr"; var mesh = JSON.parse(meshstr); +var city = JSON.parse(citystr); var __map = null; var __markerLayer = null; var __lineLayer = null; @@ -84,13 +86,14 @@ ); if (feature) { var coordinates = feature.getGeometry().getCoordinates(); - var info = feature.information; + var info = featurePoint.information; var element = __overlay.getElement(); var descriptionHTML = - "
code: " + info.properties.id + "
" + - "
version: " + info.properties.version + "
" + - "
" + info.properties.path + "
" + - "
OpenStreetMap で現状を確認する
"; + "
" + info.citycode +" : "+ info.cityname + "
" + + "
code: " + info.meshcode + "
" + + "
version: " + info.version + "
" + + "
status: " + info.status + "
" + + "
" + info.path + "
"; element.innerHTML = descriptionHTML; __overlay.setPosition(coordinates); __map.addOverlay(__overlay);