5
回答
echarts使用时间轴搭配百度地图定位错误
开发十年,就只剩下这套Java开发体系了   

@Kener-林峰 你好,想跟你请教个问题:我想使用时间轴搭配地图进行数据播放。

1、当我在地图里面添加时间轴以后,定位点全部跑到了做左边重叠在一起,正确的定位应该是右边的红点上面,如图一。

2、当我拖动一下地图,定位点全部正常,回到右边红的的位置上,然而新的问题出现了,下方的时间轴不见了,如图二。

3、当我使用firebug观察到下方时间轴不见时(图二),会报出一个错误,如图三。

在网上没有找到解决方法,过来请教,希望能得到帮助,万分感激,谢谢。

图一:

图二:

图三:

举报
belief_888
发帖于3年前 5回/676阅
共有5个答案 最后回答: 3年前

写信给百度echarts反馈没有回复,暂时的解决方法是当地图加载完成后,触发地图的拖动事件。目前echart3出来了,解决了这个问题,但又出现了一个新问题,每次都重新加载地图,已经跟百度echarts反馈并确认为bug,提交在gitbug上面,你可以关注修复情况。

https://github.com/ecomfe/echarts/issues/2783

引用来自“belief_888”的评论

写信给百度echarts反馈没有回复,暂时的解决方法是当地图加载完成后,触发地图的拖动事件。目前echart3出来了,解决了这个问题,但又出现了一个新问题,每次都重新加载地图,已经跟百度echarts反馈并确认为bug,提交在gitbug上面,你可以关注修复情况。

https://github.com/ecomfe/echarts/issues/2783

我使用echarts2的时候遇到过跟楼主相同的情况。想问下echarts3怎么使用,在官网上没有找到类似echarts2的zip包 - -

昨天也试了下发现是有这个问题,echarts2 修改了一下扩展文件main.js的reflesh,好像暂时可以用的样子,播放下一个时间点时有稍微的卡顿感,换谷歌浏览器就没这个卡顿,解决办法是在 setOption之后调一下echarts的resize函数(楼主问题二、三),在setOption之后需要手动调用reflesh来使得echarts适应当前地图等级,不然会挤在一堆(楼主问题一)。

main.js改动如下:
self.setOption(option);  self._ec.resize(); 
应用时手动刷新使得适应当前百度地图缩放等级:
BMapExt.setOption(option, true); BMapExt.refresh();
以上是个人简单测试可行,希望能帮到你

引用来自“Dazed”的评论

昨天也试了下发现是有这个问题,echarts2 修改了一下扩展文件main.js的reflesh,好像暂时可以用的样子,播放下一个时间点时有稍微的卡顿感,换谷歌浏览器就没这个卡顿,解决办法是在 setOption之后调一下echarts的resize函数(楼主问题二、三),在setOption之后需要手动调用reflesh来使得echarts适应当前地图等级,不然会挤在一堆(楼主问题一)。

main.js改动如下:
self.setOption(option);  self._ec.resize(); 
应用时手动刷新使得适应当前百度地图缩放等级:
BMapExt.setOption(option, true); BMapExt.refresh();
以上是个人简单测试可行,希望能帮到你

感谢,测试没有问题。我自己的做法是触发一下窗体改变,不过你的方法更好些。    setTimeout(function(){

        map.panTo(new BMap.Point(114.030930,22.664380));  //移动地图使定位坐标正常
        map.addEventListener('moveend',function(){
            $(window).trigger('resize');  //触发窗体改变
        });
    },1000);

刚测试echarts3也修复了播放时间轴每次重新加载地图。但播放第一帧还是会加载一次,体验不是很好,也不影响使用。

顶部