最近在研究dwz框架里面加入高德地图的应用,之前没写过js代码,加上网上大部分都是没用的信息,dwz文档也写的很烂,花了好多时间来弄这个。下面简单介绍一下心得吧。
1.在加入一个界面的时候 必须要一个controller ,不然界面是不会出来,会报错404
2.contoller 里面的数据传递到 js页面,基本上考注解就搞定了,不用怎么费心
@Controller
@RequestMapping("/management/business/position") 这里是 写的jsp页面的文件夹的路径 全部路径:WEBINFO/views/management/business/position
public class abs{
@RequestMapping(value="/position", method = { RequestMethod.GET,RequestMethod.POST }) //这里的value 就是jsp页面的名称
public String list(ServletRequest request,Map<String, Object> map){
//1.这里request 可以拿到 jsp界面传过来的参数 方法百度一下就可以了
//2.这里的map 可以传到jsp界面去,这里可以将后台的数据放到这个map里面 就可以传到jsp页面,具体怎么实现的还没研究
return "/management/business/position/position"//返回页面的相对路径
}
3.在jsp页面取出传过来的值的问题,这个取值 是个非常费心的事,查了很多资料,但大多都是无用的东西
首先在js代码里面是可以用 foreach 语句的,写个例子吧:
<c:forEach var="info" items="${abc}"varStatus="var">// 这里的 items="${abc}" 就是在controller 那边放在map里面的集合
if ("${info.deviceNo}" == num) {//这样通过遍历就能去除 单个对象的属性值了,
content.push("ProductName:" + "${info.productName}");
content.push("DeviceNo:" + "${info.deviceNo}");
}
</c:forEach>
4.在高德地图添加marker 的时候 碰到了 改变icon 为本地图片的问题
marker = new AMap.Marker({
icon : "../upload/images/aircraft_google.png",//这张图片放在 web-info/upload/images/ 文件夹下面 你们可以放在自己的文件夹下面
position : new AMap.LngLat(lng, lat),
});