基于arcgis js的开发一般是单页面程序,会导致某一个html或者js特别庞大,笔者基于近一个月的开发经验,总结如下:
1.一定要将js单独写在一份js中,即将js移出html
2.arcgis js中生成对象能用json尽量用json,举例:
var provinceInfoTempDef = {
title:"${NAME}",
content:"<a style='float:right' id='provinceDetial' onclick='showProvinceDetail()'>详情</a>"
};
var provinceInfoTemplate = new InfoTemplate(provinceInfoTempDef);
来替换:
var provinceInfoTemplate = new InfoTemplate("${NAME}","<a style='float:right' id='provinceDetial' onclick='showProvinceDetail()'>详情</a>");
方便修改,做到高内聚低耦合
3.基于第二条,将静态变量(第二条中的provinceInfoTempDef)移到另一个js,而主要的js中实现业务逻辑,将变量与业务分离。
4.在为点创建坐标系时,使用 "spatialReference": {"wkid": 4326 } 来代替 "spatialReference": map.spatialReference
即将点的坐标系固定,而不要使用地图的空间参考系,否则有时会找不到点。
5.在写js生成图层时,底图的图层命名为XXXMap,其他图层都命名为XXXLayer,图层定义命名为XXXDef,其他变量自定义格式
6.在做地图时,不要纠结于地图的背景,首要任务是实现功能
7.通用方法移除包含dojo的js
这段时间,又做了些arcgis for js的开发,又有了新的体会
8.不同的要素类不要放在一个图层,即使是GraphicsLayer也尽量不要存储多种类型的graphics,因为会覆盖而导致InfoTemplete无法显示