我试图从弹簧控制器传递数据到JavaScript,但没有运气。我应该使用ajax来做到这一点吗?请你能给我一些提示,告诉我如何做到这一点?什么是最好的方法?如何将json对象从java传递给javascript?
以我控制器I尝试传递数据:
@RequestMapping(value = "/map", method = RequestMethod.GET)
public String map(ModelMap model) {
...
model.addAttribute("trackpoints", json);
return "map";
}
其中JSON是含有GSON对象(的JSONObject):
{"trackpoints":[{"latitude":52.390556,"longitude":16.920295},
{"latitude":52.390606,"longitude":16.920262}]}
在我的jsp文件我有:
<script type="text/javascript">
var myJSON = {};
myJSON = ${trackpoints};
document.writeln(myJSON.trackpoints);
</script>
但结果是:
[object Object],[object Object]
我更详细地解释这一点:>
我想使用谷歌地图API来显示地图和借鉴许多协调LAT路径,多头。 我认为JSON会比列表更好,但我可能是错的。
我尝试从文档中调整代码 - 在下面的代码中,我尝试用循环替换硬编码坐标,并从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>
我希望它现在更清晰:)