arcgis for javascript地图开发

来源:互联网 发布:小型货车出租软件 编辑:程序博客网 时间:2024/05/17 02:51


首先arcgis for javascript的开发包下载路径 https://developers.arcgis.com/downloads 选择对应的版本API(SDK可下可不下)
没尝试过4.0以上的,好像较之3.0以上版本新增加不少东西,API也有较大变化,我这里用的是3.21相对比较稳定,之前用过3.10(该版本BUG有点多,还无从下手,例如地图比例尺缩放过程中,浮标点图标莫名消失等)
arcgis for javascript采用的是dojo的方式,有些API的处理也要采用dojo.require的来处理回调
下载完成后,解压到随意目录。之后启用服务器iis发布该目录下的arcgis_js_api文件夹,不过要对目录中的部分文件做一个修改(详细打开INSTALL.HTML会有说明)

arcgis_js_api\library\3.21\3.21\init.js
arcgis_js_api\library\3.21\3.21\dojo\dojo.js
arcgis_js_api\library\3.21\3.21compact\init.js
arcgis_js_api\library\3.21\3.21compact\dojo\dojo.js

将四个文件中的https://[HOSTNAME_AND_PATH_TO_JSAPI]dojo 替换为https://<myserver>/arcgis_js_api/library/3.21/3.21compact/dojo

这里要注意,不使用ssl证书的要将https替换为http,同时注意文件中其余位置的https协议

项目中引入
<script type="text/javascript" src="http://${ipAddress}/arcgis_js_api/3.21/3.21/init.js"></script><link rel="stylesheet" type="text/css" href="http://${ipAddress}/arcgis_js_api/3.21/3.21/esri/css/esri.css" /><link rel="stylesheet" type="text/css" href="http://${ipAddress}/arcgis_js_api/3.21/3.21/dijit/themes/tundra/tundra.css"/>

这三个文件
if(typeof(esri)=='undefined')这种也能验证成功引入否

之后便可 在项目中引入地图图层

 mapUtil.dojo.require("esri.map");
mapUtil.map = new mapUtil.esri.Map("allmap",{        slider:false,//显示+-号        logo:false,//显示图标        zoom:mapUtil.zoom,//默认缩放        center:[mapUtil.lng,mapUtil.lat],//中心点        isScrollWheelZoom:false,//允许滚轮操作        isScrollWheel:true,//允许滚轮缩放        isPanArrows:false,        isDoubleClickZoom:false,//双击放大地图        isZoomSlider:false,//语序+-号        minZoom:5,//最小级别5        maxZoom:17,//最大级别17        isShiftDoubleClickZoom:false,//可用shift键+双击鼠标放大地图。这允许用户使用shift + 鼠标双击去放大和重定向地图中心。         isPan:true,//允许鼠标移动        isClickRecenter:false, //按shift+click键重定义地图中心点        isDoubleClickZoom:false //双击放大地图允许用户使用鼠标双击放大和重定义地图中心点。        });        mapUtil.countyLayer = new mapUtil.esri.layers.GraphicsLayer();        var myTiledMapServiceLayer = new mapUtil.esri.layers.ArcGISTiledMapServiceLayer("http://cache1.arcgisonline.cn/arcgis/rest/services/ChinaOnlineStreetColor/MapServer");        mapUtil.map.addLayer(myTiledMapServiceLayer);            mapUtil.map.addLayer(mapUtil.countyLayer);       

这里的mapUtil是我定义的一个类;
"allMap"则是页面上地图显示的容器Id

图层测试的话可以使用http://blog.csdn.net/lijun7788/article/details/8302403这位博客上的资源地址

这次博客就到这里了

后续我会更新acgis for javascript常用API的用法和大量坑

阅读全文
0 0
原创粉丝点击