百度地图标注平滑移动

定义marker平滑移动

         基本的思路就是将两个坐标点之间平分为n个坐标,然后一次一次setPosition就可以了,按照我之前的做法,定义一个定时函数,移除标注,添加标注,那样做,思路是对的 但是明显看到小车在跳动,后面参照uber的mapbox,添加一个动画,基本就实现了,引用一个turf.min.js,下载地址turn.min.js,具体代码如下

                    var line = turf.lineString([[startPoint.lng, startPoint.lat],[endPoint.lng,endPoint.lat]]); // 两点连线
                    var distance = turf.distance(turf.point([startPoint.lng, startPoint.lat]), [endPoint.lng,endPoint.lat], {'units': 'kilometers'}); // 计算两点距离
                    var steps = 1000; // 平滑步长
                    var arc = []; // 平滑轨迹
                    for (var i = 0; i < distance; i += distance/steps) { // 插值取点
                        var segment = turf.along(line, i, {'units': 'kilometers'});
                        arc.push(segment.geometry.coordinates);
                    }
                    var start = null;
                    //调用动画
                    function animate(timestamp){
                        if(!start){
                            start = timestamp;
                        }
                        var progress = timestamp - start;
                        if (progress < 1000) {
                            var idx = Math.floor(progress / 1000 * arc.length);
                            if(idx >= 0 && idx < arc.length){
                                var point1 = new BMap.Point(arc[idx][0], arc[idx][1]);
                                marker.setPosition(point1);
                     
                            }
                            window.requestAnimationFrame(animate);
                        }
                    }

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Flutter百度地图是一款基于Flutter技术开发的地图应用程序。Flutter是一种跨平台的移动应用开发框架,而百度地图是一款功能强大的地图导航工具。这个应用程序结合了Flutter的跨平台特性和百度地图的功能,使得开发者可以轻松地创建出高性能、交互友好的地图应用。 使用Flutter百度地图可以实现很多功能,比如显示地图、标记位置、搜索地、路线规划等。开发者可以通过调用Flutter百度地图提供的API来完成这些功能。Flutter百度地图API包括了地图的展示、交互、搜索、定位等功能,能够满足开发者对地图应用的各种需求。 使用Flutter百度地图进行地图展示时,开发者可以自定义地图样式,包括地图的颜色、标注的图片、文字样式等。通过调用API,开发者可以在地图上添加标记、覆盖物、绘制路线等,使得地图更加丰富多样。此外,开发者还可以利用Flutter百度地图的搜索功能,实现地的搜索和周边兴趣的展示。 在开发过程中,Flutter百度地图提供了丰富的事件回调,开发者可以根据用户的交互行为来执行相应的操作。比如,当用户击地图上的标记时,开发者可以通过事件回调来实现弹出详情信息或执行其他特定操作。 总之,Flutter百度地图是一款强大的地图应用开发工具,可以帮助开发者快速构建出高质量的跨平台地图应用。无论是需要简单的地图展示,还是复杂的路线规划,Flutter百度地图都能满足开发者的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值