原文:ArcGIS JavaScript + 天地图API之显示混乱
异常描述:
(1)ArcGIS JavaScript 调用天地图WMTS服务,出现了这种混乱的效果,加载不完整.
(2)昨天是相关瓦片的请求,Google浏览器显示的是请求失败.当时怀疑是无线网络的问题,接了有线,还是请求失败.以为是别人的问题,过几天应该就好了,所以也没放在心上
(3)今天一调试发现所有的请求都可以正常响应,可地图却仍然混乱
可能问题猜测:
(1)天地图WMTS服务的问题
(2)坐标系的问题,可能是坐标系的混乱,ArcGIS JavaScript请求了错误的的瓦片行/列
(3)代码中写了未知的脑残代码,ArcGIS JavaScript类库,没有向WMTS服务请求瓦片
纠结之道:
(1)第一个可能,试验了其他天地图网站,包括官网,以前自己写的网站,别人都好好的
(2)第二个可能,调试过程中查看了map对象的spatialReference,显示的是 wkid:4326,与天地图中相关定义的是一致的
(3)第三个可能,仔细核查了ArcGIS JavaScript加载类库的代码,多次添加了之前项目中可以正常运行的代码,还是一样的混乱
(4)第三个可能,怀疑问题可能出现在地图初始化相关代码,重新写了这段代码,还是这个样子
(4)第三个可能:仔细记录了WMTS服务的行列号,并排列,发现发送的行列请求是正确的,也没有少.
将请求到的图片进行了排列,也能够正常拼成地图. 可是浏览器中加载的地图与正常的地图存在混乱,浏览器中加载的地图片段是无法拼起来的
耗费时间:半天以上,不开心
问题原因:
长期纠结后,发现原来是类库引用错了....为了调试另一个脑残问题,代码中引用了别人可以正常运行的类库.那个脑残问题解决后,这个就忘记改回来了,结果出现这个问题
<%--<script type="text/javascript" src="http://xx.xx.xx.xx::48071/arcgis_js_api/library/3.15/3.15/init.js"></script>--%> <script src="http://xx.xx.xx.xx:802/arcgis_js_api/3.8/3.8/init.js"></script>
可为什么引用错了类库就会出现这个问题,原因就不深究了,还是抓紧干活吧
之后也偶尔出现过类似的问题,多次之后发现,类库与ArcGIS CSS的版本如果不一致,出现了这种现象
结论:故脑残不可医也