调用了高德地图的api,不过没关系,我把关键点给各位大佬划出来
这里遇到的问题就是,我的地图加载(放在图二window.onLoad里面)出来之后,从服务器获取的json数据才姗姗来迟,导致我的数据没有真正的用上,我发现可以用延时器的方法解决,但是我想问问各位大佬,还有别的解决方案吗
问题已经解决了,十分感谢各位大佬们,对小白非常友好
今天可太高兴了哈哈哈哈
调用了高德地图的api,不过没关系,我把关键点给各位大佬划出来
这里遇到的问题就是,我的地图加载(放在图二window.onLoad里面)出来之后,从服务器获取的json数据才姗姗来迟,导致我的数据没有真正的用上,我发现可以用延时器的方法解决,但是我想问问各位大佬,还有别的解决方案吗
问题已经解决了,十分感谢各位大佬们,对小白非常友好
今天可太高兴了哈哈哈哈
地图初始化可以放在 window.onload
中,只需要在外面处理一次就好。
渲染地图可以在拿到数据之后。用
this.getAxios().then((data) => { /* 这里处理拿到数据之后的事情 */ })
或者用 await
:
(async () => {
const data = await this.getAxios();
// 在这里渲染
})();
另外,下面的 addMarkder
建议你写在 for
循环的外面,循环变量通过参数传入。
以及,使用箭头函数来使用 Vue 组件的 this
,尽量使用使用 _this
。
10 回答11.4k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
地图那一块不一定非要 window.onLoad 吧,你等接口请求完了,再渲染地图不就好了。