Wechat: yu389741| Email: gisdqy@163.com

Shop:https://www.giserdqy.com/shop

arcgis api for javascript本地环境配置


教程目录

最近又重新搞起arcgis javascript开发,配置环境时总结了下原来的问题:

以前在webstorm中添加一个API,用来平时在webstorm中调试,然后在自己电脑iis中再配置一个API,这样调试起来比方便,但是最终布置环境时还得再将web storm中的api路径指向iis,有点烦,所以就干脆直接把webstorm项目放到iis里面了,这样就不用两个api包了,调试起来也比较方便==

 

下面介绍一下基本步骤:

1、首先去官网下载javascript API,前提要有arcgis账号奥==


当然你也可以把sdk下载下来,不过打开后基本打不开,可能是因为没有放在服务器上的原因,自己没试,跟官网上帮助差不多。

 

2、拷贝api到服务器下

这里有两个版本,一个是normal版,一个是compact版,大小差的不是很多,一般用normal版就可以。

找到api拷贝到服务器后,将3.18\init.js文件中的[HOSTNAME_AND_PATH_TO_JSAPI]修改为自己的服务器路径,如192.168.0.22:88;

同理,将3.18\dojo\dojo.js文件中的[HOSTNAME_AND_PATH_TO_JSAPI]修改为自己的服务器路径,如192.168.0.22:88。

 

3、arcgis javascript本地环境测试

这下就将arcgis javascript本地环境配置好了可以用下面的html测试一下。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Simple Map</title>
    <link rel="stylesheet" type="text/css" href="http://<myserver>/arcgis_js_api/library/3.18/3.18/dijit/themes/tundra/tundra.css"/>
    <link rel="stylesheet" type="text/css" href="http://<myserver>/arcgis_js_api/library/3.18/3.18/esri/css/esri.css" />
    <script type="text/javascript" src="http://<myserver>/arcgis_js_api/library/3.18/3.18/init.js"></script>
    <script type="text/javascript">
      dojo.require("esri.map");
      function init() {
        var myMap = new esri.Map("mapDiv");
        //note that if you do not have public Internet access then you will need to point this url to your own locally accessible cached service.
        var myTiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/NGS_Topo_US_2D/MapServer");
        myMap.addLayer(myTiledMapServiceLayer);
      }
      dojo.addOnLoad(init);
    </script>
  </head>
  <body class="tundra">
    <div id="mapDiv" style="width:900px; height:600px; border:1px solid #000;"></div>
  </body>
</html>

下面将原文英文附加如下:

Installing the ArcGIS API for JavaScript Library on Windows

The instructions below assume that you are installing the ArcGIS JavaScript API library in the following location on an IIS Web Server, “http://<myserver>/arcgis_js_api/library/3.18/” where <myserver> is the domain name of your Web site. After copying files
to your Web server, you will need to edit some files to include the URL to the server and directory that you are planning to install to.

For instructions on deploying the library on Linux/Unix, please go to the installation notes for Linux/Unix.

  1. Copy \arcgis_js_api\library and all its contents from the zip file to your Web server. In this example the files are copied to:
    C:\Inetpub\wwwroot\arcgis_js_api\library

Install the Normal or Compact Build

ArcGIS JSAPI 3.18 contains two builds–a normal build and a compact build. The compact build removes the Dojo Dijit dependancy and minimizes the non-essential ArcGIS JSAPI classes. Please see the documentation for
more details.

Your directions may differ depending on your server configuration or Web server, but the process is the same.

Configuration options for normal build:

  1. Open C:\Inetpub\wwwroot\arcgis_js_api\library\3.18\3.18\init.js in a text editor and search for the text '[HOSTNAME_AND_PATH_TO_JSAPI]', and replace this text with "<myserver>/arcgis_js_api/library/3.18/3.18/"
  2. Open C:\Inetpub\wwwroot\arcgis_js_api\library\3.18\3.18\dojo\dojo.js in a text editor and search for the text '[HOSTNAME_AND_PATH_TO_JSAPI]', and replace this text with "<myserver>/arcgis_js_api/library/3.18/3.18/"

Configuration options for compact build:

  1. Open C:\Inetpub\wwwroot\arcgis_js_api\library\3.18\3.18compact\init.js in a text editor and search for the text '[HOSTNAME_AND_PATH_TO_JSAPI]', and replace each instance of this text with "<myserver>/arcgis_js_api/library/3.18/3.18compact/"
  2. Open C:\Inetpub\wwwroot\arcgis_js_api\library\3.18\3.18compact\dojo\dojo.js in a text editor and search for the text '[HOSTNAME_AND_PATH_TO_JSAPI]', and replace this text with "<myserver>/arcgis_js_api/library/3.18/3.18compact/"

Using HTTP/HTTPS with different ports

The steps below outline what to do if accessing non-default (80/443) HTTP/HTTPS ports in a single local API install.

Assuming init.js is accessible at the following URL: http://xyz.company.com/jsapi/init.js and the web server uses a non-standard port for HTTPS, the baseUrl value below would work:

  1. baseUrl: (location.protocol === "file:" ? "http:" : location.protocol)
    + "//" + "xyz.company.com:" + (location.protocol === "https:" ? 8443 : 9090) + "/jsapi/dojo"
    

    Assume that HTTP port = 9090 and HTTPS port = 8443. Replace

    "[HOSTNAME_AND_PATH_TO_JSAPI]/dojo"
    

    with

    "xyz.company.com:" + (location.protocol === "https:" ? "8443" : "9090") + "/jsapi/dojo"
    

    If the HTTP port is standard 80, but HTTPS port is non-standard.

  2. "xyz.company.com:" + (location.protocol === "https:" ? "8443" : "") + "/jsapi/dojo"
    

Test the Install

Now you should be able to access the ArcGIS JavaScript library from your Web server using the following URL(s):

    http://<myserver>/arcgis_js_api/library/3.18/3.18/init.js
    http://<myserver>/arcgis_js_api/library/3.18/3.18compact/init.js

Test your install. You can use the following test code to validate your JSAPI library install.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Simple Map</title>
    <link rel="stylesheet" type="text/css" href="http://<myserver>/arcgis_js_api/library/3.18/3.18/dijit/themes/tundra/tundra.css"/>
    <link rel="stylesheet" type="text/css" href="http://<myserver>/arcgis_js_api/library/3.18/3.18/esri/css/esri.css" />
    <script type="text/javascript" src="http://<myserver>/arcgis_js_api/library/3.18/3.18/init.js"></script>
    <script type="text/javascript">
      dojo.require("esri.map");
      function init() {
        var myMap = new esri.Map("mapDiv");
        //note that if you do not have public Internet access then you will need to point this url to your own locally accessible cached service.
        var myTiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/NGS_Topo_US_2D/MapServer");
        myMap.addLayer(myTiledMapServiceLayer);
      }
      dojo.addOnLoad(init);
    </script>
  </head>
  <body class="tundra">
    <div id="mapDiv" style="width:900px; height:600px; border:1px solid #000;"></div>
  </body>
</html>

Change the ArcGIS Services Directory “View In JavaScript” URL

The Services Directory allows you to view Map and Image services using the JavaScript API. Set the following values in the rest-config.properties file to use the local install:

#JS API URLs
jsapi.arcgis=http://<myserver>/arcgis_js_api/library/3.18/3.18/
jsapi.arcgis.sdk=http://<myserver>/arcgis_js_sdk/sdk/
jsapi.arcgis.css=http://<myserver>/arcgis_js_api/library/3.18/3.18/dijit/themes/tundra/tundra.css

Finally make sure the import statement for the esri.css stylesheet is in the <ArcGIS Server Install Location>ArcGIS\Server\framework\runtime\tomcat\webapps\arcgis#rest\www\client\mapserver\mapserverJSAPI.jsp file.

<style>
@import "<%=jsapiArcgisCssUrl%>";
@import "<%=cpath%>/static/jsapi.css";
@import "<%=jsapiArcgisUrl%>/js/esri/css/esri.css";
</style>

转载自:https://blog.csdn.net/xcymorningsun/article/details/53614980