Tôi đang cố chuyển dữ liệu từ bộ điều khiển lò xo sang javascript nhưng không có may mắn. Tôi có nên sử dụng ajax để làm điều này không? Xin ông có thể cho tôi một số gợi ý về việc này không? cách tốt nhất là gì?cách chuyển đối tượng json từ java sang javascript?
Trong điều khiển của tôi, tôi cố gắng để truyền dữ liệu:
@RequestMapping(value = "/map", method = RequestMethod.GET)
public String map(ModelMap model) {
...
model.addAttribute("trackpoints", json);
return "map";
}
nơi json là một đối tượng gson (JSONObject) chứa:
{"trackpoints":[{"latitude":52.390556,"longitude":16.920295},
{"latitude":52.390606,"longitude":16.920262}]}
trong file jsp của tôi, tôi có:
<script type="text/javascript">
var myJSON = {};
myJSON = ${trackpoints};
document.writeln(myJSON.trackpoints);
</script>
nhưng kết quả là:
[object Object],[object Object]
Tôi giải thích chi tiết hơn:>
tôi muốn sử dụng bản đồ google api để hiển thị bản đồ và vẽ đường dẫn phối hợp từ nhiều lat, longs. tôi nghĩ json sẽ tốt hơn danh sách, nhưng tôi có thể sai.
tôi cố gắng điều chỉnh mã từ tài liệu - trong mã bên dưới tôi cố gắng thay thế tọa độ được mã hóa bằng vòng lặp và giá trị từ đối tượng json.
<script type="text/javascript">
function initialize() {
var myLatLng = new google.maps.LatLng(0, -180);
var myOptions = {
zoom : 3,
center : myLatLng,
mapTypeId : google.maps.MapTypeId.TERRAIN
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var flightPlanCoordinates = [
new google.maps.LatLng(37.772323, -122.214897),
new google.maps.LatLng(21.291982, -157.821856),
new google.maps.LatLng(-18.142599, 178.431),
new google.maps.LatLng(-27.46758, 153.027892) ];
var flightPath = new google.maps.Polyline({
path : flightPlanCoordinates,
strokeColor : "#FF0000",
strokeOpacity : 1.0,
strokeWeight : 2
});
flightPath.setMap(map);
}
</script>
tôi hy vọng nó bây giờ rõ ràng hơn :)