上一篇实现了demo的地图加载展示,在上篇实现的基础上,新增了地图工具栏以及通用地图控件功能,比如地图框选缩放、地图漫游、清空、量算工具、地图导航控件、地图比例尺控件、地图鹰眼图等等,总共分为5个部分,截图如下:
1.工具栏,在map.html页面引入工具栏实现需要的js文件
<script type="text/javascript" src="js/main/map.map2dPanel.js"></script>
然后在map.js文件中地图初始化函数load2DMap进行工具栏的js调用
//显示地图工具栏 DCI.map2dTool.InitTool(map);
map2dPanel.js实现了地图工具栏所有的功能,谈谈实现核心部分功能的代码:
(1)拉框放大:这个实现比较简单,利用拉框的矩形范围,直接设置地图的范围为拉框的范围即可
$("#zoomIn").click(function () {//地图拉框放大 map.setMapCursor("url('" + getRootPath() + "Content/images/index/cursor/zoomout.cur'),auto");//设置地图鼠标形状 DCI.map2dTool.drawtool.activate(esri.toolbars.Draw.EXTENT);//利用api的画工具draw来画矩形,获取矩形范围 DCI.map2dTool.drawExtent(null, function (geometry) {//draw工具画完的回调函数 DCI.map2dTool.zoomOutByExtent(geometry);//获取回调函数的geometry(extent)范围 }); });
drawExtent: function (symbol, onDrawEnd) {
DCI.map2dTool.onDrawEnd = onDrawEnd;
},
//根据拉框范围放大 zoomInByExtent: