标记当前位置 及 在地图上显示足迹

标记当前位置

示例代码:

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前就被执行了

下图展示了显示路径的效果。

posted @   elar  阅读(2733)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示