首发GIS派:ArcGIS API for JavaScript心得体验
学习和使用ArcGIS API for JavaScript开发差不多有两年了吧,跌跌撞撞断断续续也做了几个小项目,学习之路相对比较平滑,但也遇到不少坑坑洼洼,这些坑大部分是自己当时能力所限造成的,也有的是ArcGIS API本身存在的一些问题,本文主要谈谈我对ArcGIS API使用心得。
从API部署开始谈起
对于大部分ArcGIS API for JavaScript的初学者,部署ArcGIS API 肯定也花费了一番功夫(大神例外)。记得当时我部署ArcGIS API整整琢磨了两天,才让“hello world”跑起来。
第一个坑:替换路径要不要加端口
部署过ArcGIS API的朋友都知道,其中部署最关键的一步就是将[HOSTNAME_AND_PATH_TO_JSAPI]
替换为部署后API的HTTP路径。我记得当时我将init.js和dojo.js的[HOSTNAME_AND_PATH_TO_JSAPI]
替换为http://localhost:8080/arcgis_js_api/library/3.19/3.19/
这一步是没有问题的,然后通过script
标签引用:
<script src="http://公网ip/arcgis_js_api/library/3.19/3.19/init.js"></script>
大家或许已经发现了,我没有加端口,当时我是这么想的,因为我的tomcat映射了公网IP,而默认端口就是8080,所以理论上没加端口是可以的,而且当时我还在浏览器中确认了通过这个地址是可以访问init.js的。可是,通过不带端口的方式在html中引用却不起作用,这让我百思不得其解。这个问题让我纠结了很久。
第二个坑:替换路径要和引用一致
这个坑快要让我抓狂了,好不容易知道要加上端口后,但是地图始终不能出来,我一直想不明白问题出在哪里,当时还一直以为是自己下载的API文件有缺漏,重新下载了好几回,可依旧都是老样子。但我这种人就是喜欢死磕,有种不达目的决不罢休的蛮劲。第二天起床那会儿,想了下这个问题,突然想到js引用过来,里面的localhost路径会不会成了客户机的localhost了