new ol.supermap.QueryService(url).queryBySQL(param, function (serviceResult) { }); 在使用该接口时,发现网络请求在3秒左右就完成了,但是触发回调方法要15秒到30秒,这个问题怎么解决? 使用的原生html和js,没有用模块化编程。
官网范例是最新的SuperMap iClient包,官网的范例的代码在github上: https://github.com/SuperMap/iClient-JavaScript
我按照教程的这个地址https://iclient.supermap.io/web/introduction/openlayersDevelop.html#Ready引用资源,无论是在线的,还是下载离线后引用都出现了回调卡顿,但是用这个页面https://iclient.supermap.io/examples/openlayers/editor.html#01_mapQueryBySQL引用的资源来测试,回调就正常了,没有出现延迟执行的情况了。
我用官网China数据源中的点数据集District_A_pt(2000多个点)测试正常,没复现你的情况,建议直接使用下载的iClient包,url: "https://iserver.supermap.io/iserver/services/map-china400/rest/maps/China" ,
queryParams: { name: "District_A_pt@China", attributeFilter: "SmUserID = 0" }
官网测试:
你的代码测试:
这是本地测试时网络请求所花时间,下面是控制台打印的从请求开始到返回方法被调用的时间 明显能看到中间所花费的时间差距,但是我将代码拷入编辑器里运行,同样读取本地资源,回调执行的时间就和网络请求时间同步了,你用的地图文件我刚刚测试过,回调时间是正常的,但是这种回调和网络请求不同步的现象会不会是只在大数据量上出现?
可否告知该链接中的https://iclient.supermap.io/examples/openlayers/editor.html#01_mapQueryBySQL <script type="text/javascript" src="../js/include-web.js"></script> <script type="text/javascript" src="../../dist/ol/include-ol.js"></script>这两个资源的离线包去哪下载?