您的位置:首页 > Web前端 > JavaScript

ArcGIS API for Javascript 开发经验心得

2014-05-15 19:53 441 查看
1、map对象中默认有一个GraphicLayer,置于最顶层,使用它的方式是map.graphics.  比如map.graphics.add(graphci);

2、可以给GraphicLayer添加事件,比如点击事件, dojo.connect(map.graphics, "onClick", capitalclick);返回的是一个event对象,有三个值mapPoint(地图坐标)、screenPoint(屏幕坐标) 、Graphic(你所点击的Graphic对象)。

3、声明Graphic时参数都是可选的geometry、symbol、attributes、infoTemplate,如果添加了infoTemplate,不需要添加点击事件,点击Graphic,infoTemplate就会自动弹出,这个时候可以赋给相应的attributes,可以用来后续的查询用,点击查询时就不需要用identify这个工具了,直接取event.graphic.attributes.可以提高查询效率。event.graphic.geometry.type这个语句可以得知你所点击的Graphic是什么类型(点线面)。

4、map.setExtent(extent)这个函数要求extent的spatial reference必须和map是一样的,否则设置无效

5、还有一种服务时Geometry,他不需要资源,但是要发布,在GIS Servers中某个目录下右键->Add New Services ,一直下一步就行了。在使用buffer的时候需要这个服务

6、easyui-combobox,在html中声明控件时,写好option值,再在后面写onSelect函数有效,如果都是在js中loadData和写onSelect事件,点击事件失效,但是选择框中会显示选中的选项。解决办法,使用combotree,但是别写multiple属性,onSelect事件就有效。

7、如果使用IE11打开页面, IE11已经不支持使用 if(window.ActiveXObject)来判断是不是IE浏览器了,要使用if ("ActiveXObject" in window)。同时如果使用IE11发现在地图上使用滚轮,地图不缩放时,考虑把arcgis for Javascript api升级,我是把3.3升级到3.9,就没问题了。

8 、可以使用map.setMapCursor("url(images/cursor/identify.ico),auto");来设定在不同的应用场景下,地图窗口显示不同的鼠标样式,主义url()里不用双引号,同时不支持jpg,png之类的格式,支持ico,cur,window系统自带很多.cur

的文件,在c:/windows/cursor文件夹内,可以拿来用

9、easyUI1.3.6版本中,tree控件的onCheck事件传出的参数node,它的checked值反常,选中时,其值为false,推测node.checked值是选中之前的值,而在判断node.checked的值之前加上

var n = $("#user_basemap").tree('getChecked', 'checked');  则回归正常,估计是easyUI的bug
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息