百度地图marker CSS3动画实现

  1. 在地图上随便添加几个marker,使用自定义的maker图,如下图
    在这里插入图片描述

  2. 浏览器F12打开调试模式,CTRL+F搜索自定义的marker的图的名字,并找到它的上级元素.BMap_Marker。在这里插入图片描述

  3. 在上级元素里面添加自定义的元素。
    $('.BMap_Marker div').append('');如下图$('.effectPoint:even').addClass('effectPoint1');$('.effectPoint:odd').addClass('effectPoint2');

  4. 然后在自定义的元素里面添加css动画

在这里插入图片描述

5.最后,效果如图
在这里插入图片描述

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
百度地图实现Marker沿路线运动的方法如下: 1.首先需要引入百度地图API的JavaScript文件,然后创建一个地图实例。 2.在地图上添加一个Marker,并设置Marker的图标和位置。 3.使用百度地图的API中的Polyline对象创建一条折线,并设置折线的路径。 4.使用百度地图的API中的DrivingRoute对象创建一个驾车路线实例,并设置起点和终点。 5.使用驾车路线实例的search()方法搜索驾车路线。 6.在驾车路线搜索完成后,使用驾车路线实例的getResults()方法获取驾车路线结果。 7.将驾车路线结果中的所有路段的路径合并成一个数组,并使用百度地图的API中的Polyline对象创建一条新的折线。 8.使用百度地图的API中的MarkerAnimation类创建一个Marker动画实例,并设置Marker动画的路径和速度。 9.启动Marker动画实例的start()方法,开始Marker沿路线运动。 下面是一个示例代码: ```javascript // 引入百度地图API <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script> // 创建地图实例 var map = new BMap.Map("container"); // 创建Marker实例 var marker = new BMap.Marker(new BMap.Point(116.404, 39.915)); // 设置Marker图标 var icon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), { offset: new BMap.Size(10, 25), imageOffset: new BMap.Size(0, 0 - 10 * 25) }); marker.setIcon(icon); // 添加Marker到地图上 map.addOverlay(marker); // 创建折线实例 var polyline = new BMap.Polyline([ new BMap.Point(116.404, 39.915), new BMap.Point(116.414, 39.915), new BMap.Point(116.424, 39.915) ], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5}); // 添加折线到地图上 map.addOverlay(polyline); // 创建驾车路线实例 var driving = new BMap.DrivingRoute(map, {renderOptions:{map: map, autoViewport: true}}); // 设置起点和终点 var start = new BMap.Point(116.404, 39.915); var end = new BMap.Point(116.424, 39.915); driving.search(start, end); // 监听驾车路线搜索完成事件 driving.setSearchCompleteCallback(function(results){ // 获取驾车路线结果 var plan = results.getPlan(0); var route = plan.getRoute(0); // 合并所有路段的路径 var path = []; for (var i = 0; i < route.getNumSteps(); i++) { var step = route.getStep(i); var points = step.getPath(); for (var j = 0; j < points.length; j++) { path.push(points[j]); } } // 创建新的折线实例 var newPolyline = new BMap.Polyline(path, {strokeColor:"red", strokeWeight:6, strokeOpacity:0.5}); // 添加新的折线到地图上 map.addOverlay(newPolyline); // 创建Marker动画实例 var markerAnimation = new BMap.MarkerAnimation(marker, newPolyline.getPath(), 100); // 启动Marker动画 markerAnimation.start(); }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值