ArcGIS API for JavaScript 4.X本地部
好吧,鉴于有好多人在问为什么4.X的API部署之后不能用或者报各种问题。在这里就总结一下部署的步骤以及可能会遇到的各种问题。
正文开始之前,先贴一下ArcGIS API for JavaScript如何进行下载的文章地址:http://www.jianshu.com/p/f751841f9848 。毕竟还没下载下来,你部署个锤锤。
先割一下,正文开始
Installing the ArcGIS API for JavaScript library on Windows
这篇文章是以你在Internet Information Services (IIS)下部署ArcGIS API for JavaScript为例进行说明,如果您不是在IIS下进行部署,那此文章仅供参考。当然如果您喜欢阅读英文的原文,可以直接查看下载后的API包中“\arcgis_js_api\library\downloads\install-windows\index.html”,双击这个html文件就可以打开了,如果您部署到非Windows系统中,那你查看“\arcgis_js_api\library\downloads\install-linux\index.html”
Install the Build
1.复制你下载之后的文件“\arcgis_js_api\library”到IIS的web server地址。复制完成之后的地址类似于“C:\Inetpub\wwwroot\arcgis_js_api\library”这个地址很重要!很重要!很重要!如果跟你的地址不一样,那你在后边的配置中也需要做相应的修改
2.打开“C:\Inetpub\wwwroot\arcgis_js_api\library\4.5\dojo\dojo.js”文件,然后搜索[HOSTNAME_AND_PATH_TO_JSAPI]并替换成你的网络路径“www.example.com/arcgis_js_api/library/4.5/”,在这里你需要注意,在4.X的API中默认使用的是htps协议。关于为什么使用https协议你可以参考这两篇文章:(需要科学上网呢,至于如何科学上网你可以自己搭建一个自己的shadowsocks服务器。http://www.jianshu.com/p/ebb27d0357a1 让我们一起高呼:We love GFW!!!)
#Google: Secure your site with HTTPS
当然如果你看完了这两篇文章或者我就不看我就要用http协议,好吧你任性!凸,那你除了要替换[HOSTNAME_AND_PATH_TO_JSAPI]之外还要把[HOSTNAME_AND_PATH_TO_JSAPI]前面的"https://"改成“http://”。
Test the Install
好了修改就是这么简单,下面就是测试了。你可以在浏览器中直接访问https://www.example.com/arcgis_js_api/library/4.5/dojo/dojo.js,如果可以看到代码,那恭喜你上边的修改是正确的。您也可以直接测试以下的代码:https://github.com/ly2013203742/Test-The-Install/blob/master/test.html。可以正常访问,那你的本地部署就成功了。先开心两分钟吧,当然在这个测试代码中你会看到用来访问ArcGIS JavaScript library的链接是"https://www.example.com/arcgis_js_api/library/4.5/dojo/dojo.js"而不是平常我们熟悉的“https://www.example.com/arcgis_js_api/library/4.5/init.js”,这是因为我们上边修改的就是dojo.js文件而不是init.js文件,如果我们仍想用我们比较熟悉的init.js的链接,那在Install the Build的步骤中我们就直接来修改init.js文件就可以了。
Question
question1:放大、缩小按钮不能正常显示 http://zhihu.esrichina.com.cn/question/14522
answer:在IIS中对于HTTP响应标头添加以下内容
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:origin,x-requested-with,content-type
Access-Control-Allow-Methods:POST,GET,OPTIONS
Access-Control-Allow-Origin:*
完成之后的效果如下图
question2:在访问3D的页面时,报关于stars.wsv的错误 http://zhihu.esrichina.com.cn/question/14596
answer:在IIS的MIME Type中添加.wsv type
question3:就这些吧以后再加
answer:好哒