arcgis for javascriptAPI常用接口分类: ArcGIS Javascript API2013-10-08 13:17 1736人阅读 评论(1) 收藏 举报var map, navToolbar, editToolbar, tileLayer, toolbar;//var mapBaseUrl = "http://localhost:8399/arcgis/rest/services/pdsTile/MapServer";//var mapDyUrl = "http://localhost:8399/arcgis/rest/services/pds/MapServer";//var mapDyUrl = "http://10.19.110.130:8080/arcgis/rest/services/BaseMAP/MapServer";var mapDyUrl = "http://10.19.110.130:8080/arcgis/rest/services/baseMAP/MapServer";var mapBjUrl = "http://10.19.110.130:8080/arcgis/rest/services/YCBJ/MapServer";var dynamicMapServiceLayerBj; function init() { try{ map = new esri.Map("map"); //tileLayer = new esri.layers.ArcGISTiledMapServiceLayer(mapBaseUrl); //map.addLayer(tileLayer); var dynamicMapServiceLayer = new esri.layers.ArcGISDynamicMapServiceLayer(mapDyUrl); map.addLayer(dynamicMapServiceLayer); dynamicMapServiceLayerBj = new esri.layers.ArcGISDynamicMapServiceLayer(mapBjUrl); map.addLayer(dynamicMapServiceLayerBj); //初始化 dojo.connect(map, "onLoad", dxInit); }catch(e){alert("地图初始化失败:"+e.message);} } function dxInit() { try{ //alert(map.isDoubleClickZoom); //map.disableDoubleClickZoom(); //比例尺显示 //window.setTimeout("queryMapScale.init(map);", 1000); //禁止双击放大 map.disableDoubleClickZoom(); //初始化导航工具条 navToolbar = new esri.toolbars.Navigation(map); dojo.connect(navToolbar, "onExtentHistoryChange", extentHistoryChangeHandler); //初始化编辑工具条 editToolbar = new esri.toolbars.Edit(map); dojo.connect(map.graphics, "onClick", function(evt) { dojo.stopEvent(evt); activateToolbar(evt.graphic); }); //初始化绘制工具条 toolbar = new esri.toolbars.Draw(map); //dojo.connect(toolbar, "onDrawEnd", addToMap); //显示坐标 dojo.connect(map, "onMouseMove", showCoordinates); dojo.connect(map, "onMouseOut", hideCoordinates); //加载鹰眼图、加载图层列表 dojo.connect(map, "onLayerAdd", showLayers); //加载之前记录标注 //window.setTimeout("getBz();", 1000);------------------------------ //地图窗口更新 //alert(document.getElementById('map1')); resizeMap(); dojo.connect(document.getElementById('map1'), 'resize', resizeMap); //双击map,定位街景 dojo.connect(map, 'onDblClick', zoomTo3D); //图层控制 layersCotrol([0]); }catch(e){ alert("地图初始化失败:"+e.message); } } //图层控制 function layersCotrol(visible){ try{ dynamicMapServiceLayerBj.setVisibleLayers(visible); }catch(e){ alert(e.message); } } //显示图层列表 function showLayers(){ try{ //在下拉框中显示所有图层名称 var layers = dynamicMapServiceLayerBj.layerInfos; var obj1 = new Option("", -1); for(var i=0; iX坐标: " + geoPt.y.toFixed(4) + "
Y坐标: " + geoPt.x.toFixed(4) + "" + "
" ); map.infoWindow.show(evt.mapPoint,map.getInfoWindowAnchor(evt.screenPoint)); map.setMapCursor('default'); dojo.disconnect(handler); window.top.frames["mapframe"].frames["ldframe"].showVisionByLngLat(geoPt.x.toFixed(4), geoPt.y.toFixed(4)); //定位到街景 }catch(e){ alert("添加标注出错:"+e.message); } } //定位 function zoomToPoint(x, y){ var geoPoint = new esri.geometry.Point({"x":x,"y":y}, map.spatialReference); map.centerAndZoom(geoPoint, 3); } //小汽车定位 //zoomCar(113.32,23.12); function zoomCar(x, y) { navToolbar.deactivate(); map.graphics.clear(); try{ var geoPoint = new esri.geometry.Point({"x":x,"y":y}, map.spatialReference); map.centerAndZoom(geoPoint); var symbol = new esri.symbol.PictureMarkerSymbol('images/nav/car.png', 24,24); var graphic = new esri.Graphic(geoPoint, symbol); map.graphics.add(graphic); }catch(e){ alert("小汽车定位" + e.message); } } var url = "http://192.168.1.11:8080"; //接收主题名称、坐标值 function getBz(aa) { var graphicsLayer = new esri.layers.GraphicsLayer(); try { for (var i = 0; i < aa.length; i++) { a_x = aa[i][1]; a_y = aa[i][2]; // alert(a_x+"---"+a_y); var point = new esri.geometry.Point(a_x, a_y, map.spatialReference); var symbol = new esri.symbol.PictureMarkerSymbol('images/nav/bz.png', 25, 25); var textSym = new esri.symbol.TextSymbol(aa[i][0]); textSym.setAlign(esri.symbol.TextSymbol.ALIGN_END); var graphic = new esri.Graphic(point, symbol); var infoTemplate = new esri.InfoTemplate(); infoTemplate.setTitle("广告信息"); infoTemplate.setContent(// "" +// "广告名称: " + aa[i][3] + "
" +// "广告位置: " + aa[i][4] + "
" +// "
" +// " " ); graphic.setInfoTemplate(infoTemplate); var graphicText = new esri.Graphic(point, textSym); graphicsLayer.add(graphic); graphicsLayer.add(graphicText); if (aa.length == 1) { // zoomToPoint(a_x, a_y); } } } catch (e) { alert("获取坐标点数组出错:" + e.message + "---aa:" + aa); } map.addLayer(graphicsLayer); } //编辑--移动要素 function activateToolbar(graphic) { try{ var tool = 0; tool = tool | esri.toolbars.Edit.MOVE; //tool = tool | esri.toolbars.Edit.EDIT_VERTICES; //tool = tool | esri.toolbars.Edit.SCALE; //tool = tool | esri.toolbars.Edit.ROTATE; var options = { allowAddVertices: true, allowDeleteVertices: true }; editToolbar.activate(tool, graphic, options); dojo.connect(map.graphics, "onDblClick", showInfoWindow); }catch(e){ alert("移动要素问题:"+e.message); } } function showInfoWindow(evt){ evt.stopPropagation(); map.infoWindow.setTitle("新标注"); var geoPt = evt.mapPoint; map.infoWindow.setContent("X坐标: " + geoPt.y.toFixed(4) + "
Y坐标: " + geoPt.x.toFixed(4) + "" + "
" ); map.infoWindow.show(evt.mapPoint,map.getInfoWindowAnchor(evt.screenPoint)); } //框选 function queryBz() { map.setMapCursor('crosshair'); navToolbar.deactivate(); toolbar.activate(esri.toolbars.Draw.EXTENT); toolbar.onDrawEnd = function doQueryExtent(extent) { window.parent.stat(extent.xmin, extent.ymin, extent.xmax, extent.ymax);// //获取框选区域的坐标范围// alert("xmax:"+extent.xmax+",xmin:"+extent.xmin+", ymax:"+extent.ymax+",ymin:"+extent.ymin); }; }。