标记当前位置 及 在地图上显示足迹
标记当前位置:
示例代码:
var marker = new BMap.Marker(point); map.addOverlay(marker);
在地图上显示足迹:
显示足迹列表要用到百度地图API中“添加折线”的方法。
API文档给出的参考代码是:
var polyline = new BMap.Polyline([ new BMap.Point(116.399, 39.910), new BMap.Point(116.405, 39.920) ], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5} ); map.addOverlay(polyline);
可以看到polyLine是显示折现的关键 。
那么在jsp中如何编写这个polyLine呢?
可以使用EL表达式来进行。
看一段很奇怪的且编译器会报错的代码:
<script type="text/javascript"> var map = new BMap.Map("position"); var point = new BMap.Point(${currentLocation.longitude}, ${currentLocation.latitude}); map.centerAndZoom(point, 18); var polyline = new BMap.Polyline([ <c:forEach items="${list}" var="bean"> new BMap.Point(${bean.longitude}, ${bean.latitude}),</c:forEach> ], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5} ); map.addOverlay(polyline); </script>
可以看到,EL表达式其实是嵌入到了js代码之中的。这样的做法会导致编译器报错。不过这段代码却是合法的。
因为EL表达式将会在js能运行前组织完成。
引用一句别人的话,就是
“EL表达式是在服务端执行的,服务端执行完成后再传给客户端的,js是在客户端执行的,el在js前就被执行了”
下图展示了显示路径的效果。