鍍金池/ 問(wèn)答/PHP  HTML/ 循環(huán)調(diào)用driving.search怎么按順序?qū)崿F(xiàn)每一條路徑的軌跡回放

循環(huán)調(diào)用driving.search怎么按順序?qū)崿F(xiàn)每一條路徑的軌跡回放

怎么實(shí)現(xiàn)路徑按先后順序回放?以下代碼的執(zhí)行結(jié)果是所有路徑都同時(shí)回放。我想實(shí)現(xiàn)的效果是,第一條seach檢索的路徑軌跡回放完之后再回放第二條路徑的軌跡回放,以此類推。

drawTrack(){
            var _this = this;
            _this.map.centerAndZoom(new BMap.Point(113.139612, 27.834782), 15);
            for (let index = 0; index < _this.pointObj.length-1; index++) {
                var driving = new BMap.DrivingRoute(_this.map, { 
                    renderOptions: { 
                        map: _this.map, 
                        autoViewport: true
                    },
                    onMarkersSet:function(routes) {
                        if(index != 0) _this.map.removeOverlay(routes[0].marker); //刪除多余起點(diǎn)
                        else  _this.addClickHandler(_this.map, _this.openInfor[0], routes[0].marker); // 起點(diǎn)提示框

                        if(index != _this.pointObj.length-2) _this.map.removeOverlay(routes[1].marker);//刪除多余終點(diǎn)
                        else _this.addClickHandler(_this.map, _this.openInfor[1], routes[1].marker); // 終點(diǎn)提示框
                        
                    },
                    onSearchComplete: function(res) {
                        var pts = res.getPlan(0).getRoute(0).getPath();    //通過(guò)駕車實(shí)例,獲得一系列點(diǎn)的數(shù)組
                        var paths = pts.length;    //獲得有幾個(gè)點(diǎn)
                        var carMk = new BMap.Marker(pts[0]);
                        _this.map.addOverlay(carMk);
                        var i=0;
                        function resetMkPoint(i){
                            carMk.setPosition(pts[i]);
                            if(i < paths){
                                setTimeout(function(){
                                    i++;
                                    resetMkPoint(i);
                                },100);
                            } else {
                               _this.map.removeOverlay(carMk); 
                            }
                        }
                        setTimeout(function(){
                            resetMkPoint(5);
                        },100)
                    },
                })
                driving.search(_this.pointObj[index], _this.pointObj[index+1])
            }

結(jié)果: 每條路徑的onSearchComplete函數(shù)同時(shí)執(zhí)行。

期望實(shí)現(xiàn)效果: 新加標(biāo)注從第一個(gè)起點(diǎn)規(guī)劃路徑走到最后一個(gè)終點(diǎn)。

回答
編輯回答
未命名

driving.search(start, end, {waypoint: arr}) 有三個(gè)參數(shù),start:起點(diǎn); end:終點(diǎn); {waypoint:arr} 途經(jīng)點(diǎn),將途經(jīng)點(diǎn)數(shù)組放進(jìn)第三個(gè)參數(shù)里面即可以根據(jù)指定定位點(diǎn)繪制出路徑規(guī)劃

2017年4月5日 18:45