<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no"> <title>上海城地API</title> <style> html, body, #mapDiv { padding: 0; margin: 0; height: 100%; width: 100%; } /*自定义窗口样式*/ .leaflet-popup-content-wrapper{ background-color: rgba(0,0,0,0.8) !important; color:white !important; } .leaflet-popup-tip{ background-color: rgba(0,0,0,0.8) !important; } .esri-view-surface--inset-outline:focus::after { outline: none !important; } </style> <script src="js/echarts.min.js"></script> <script src="jquery/jquery-2.2.3.min.js"></script> <script type="text/javascript" src="jquery/xml2json.js"></script> <script> var dojoConfig = { async: true, parseOnLoad: true, packages: [{ name: "lib", location: location.pathname.replace(/\/[^/]+$/, "") + "/lib" }] }; </script> <script src="Common/mapClass/corrugatedPoint/gl-matrix.js"></script> <!--<script src="http://172.16.28.83/arcgis_api/library/4.17/init.js"></script>--> <!--<link rel="stylesheet" href="http://172.16.28.83/arcgis_js_api/library/4.17/esri/themes/light/main.css">--> <script src="https://10.101.35.50/arcgis_js_api/library/4.17/init.js"></script> <link rel="stylesheet" href="https://10.101.35.50/arcgis_js_api/library/4.17/esri/themes/light/main.css"> <link rel="stylesheet" href="css/echartsLayerCss.css"> <!--系统自定义JS--> <script src="Common/dataClass/XMLUtil.js"></script> <!--XML操作功能--> <script src="Common/dataClass/ConfigManagertest1.js"></script> <script src="Common/dataClass/DataCommonClass.js"></script> <script src="Common/dataClass/MD5.js"></script> <script src="Common/dataClass/Base64.js"></script> <script src="Common/mapClass/MapClass4.js"></script> <script src="Common/WsCommonClass.js"></script> <script src="Common/mapClass/GSFunction.js"></script> <script src="Common/mapClass/corrugatedPoint/corrugatedPoint.js"></script> <script> //监听message window.onmessage = function(e) { //alert(e.origin); //if (e.origin !== 'http://10.101.35.46/WJGisShare/') //return; var payload; try{ payload= JSON.parse(e.data); } catch(e){ return; } switch (payload.method) { case 'ZoomIn': //localStorage.setItem(payload.key, JSON.stringify(payload.data)); ZoomIn(payload.data); break; case 'ZoomOut': ZoomOut(payload.data); break; case 'Clear': Clear(payload.data); break; case 'ViewChange': ViewChange(); break; case 'fullExtent': toFullExtent(); break; case 'doSetExtent': doSetExtent(parseInt(payload.data)); break; case 'measureSquare': measureSquare(); break; case 'measureLength': measureLength(); break; case 'downLoadPicture': downLoadPicture(); break; case 'doGetGraphicByJson': doGetGraphicByJson(payload.data[0],payload.data[1]); break; case 'drawSquare': drawSquare(); break; case 'query': query(payload.data[0],payload.data[1]); break; case 'queryByWhereStr': querybyWhereStr(payload.data[0],payload.data[1]); break; case 'openFeatureLayer': OpenFeatureLayerByID(payload.data[0],payload.data[1]); break; case 'openFeatureLayerByName': // var isVisible=true; // if(parseInt(payload.data[1])==0) // { // isVisible=false; // } OpenMapImageLayerByName(payload.data[0],payload.data[1],payload.data[2]); break; case "CloseChangeLayer":{ closeMapImageLayerByName(); break; } case 'openFeatureLayer0': var isVisible=true; if(parseInt(payload.data[0])==0) { isVisible=false; } OpenFeatureLayerByID1(0,isVisible); break; case 'openFeatureLayer1': var isVisible=true; if(parseInt(payload.data[0])==0) { isVisible=false; } OpenFeatureLayerByID1(1,isVisible); break; case 'openFeatureLayer2': var isVisible=true; if(parseInt(payload.data[0])==0) { isVisible=false; } OpenFeatureLayerByID1(2,isVisible); break; case 'openFeatureLayer3': var isVisible=true; if(parseInt(payload.data[0])==0) { isVisible=false; } OpenFeatureLayerByID1(3,isVisible); break; case 'openFeatureLayer4': var isVisible=true; if(parseInt(payload.data[0])==0) { isVisible=false; } OpenFeatureLayerByID1(4,isVisible); break; case 'openFeatureLayer5': var isVisible=true; if(parseInt(payload.data[0])==0) { isVisible=false; } OpenFeatureLayerByID1(5,isVisible); break; case 'openFeatureLayer6': var isVisible=true; if(parseInt(payload.data[0])==0) { isVisible=false; } OpenFeatureLayerByID1(6,isVisible); break; case 'openFeatureLayer7': var isVisible=true; if(parseInt(payload.data[0])==0) { isVisible=false; } OpenFeatureLayerByID1(7,isVisible); break; case 'openFeatureLayer8': var isVisible=true; if(parseInt(payload.data[0])==0) { isVisible=false; } OpenFeatureLayerByID1(8,isVisible); break; case 'openFeatureLayer9': var isVisible=true; if(parseInt(payload.data[0])==0) { isVisible=false; } OpenFeatureLayerByID1(9,isVisible); break; case 'openFeatureLayer10': var isVisible=true; if(parseInt(payload.data[0])==0) { isVisible=false; } OpenFeatureLayerByID1(10,isVisible); break; case 'setCenterExtent': setCenterExtent(payload.data[0],payload.data[1],payload.data[2]); break; case 'drawCircle':{ drawCircle(payload.data[0]); break; } case 'queryByCircle':{ queryByCircle(payload.data[0] ,payload.data[1] ,payload.data[2] ,payload.data[3] ) break; } case 'doFlashStatus':{ var flahLayerName=payload.data[0]; switch(flahLayerName) { case "违章建筑": flashLayerStatus(fe0,"状态",1); break; case "电梯": flashLayerStatus(fe4,"状态",1); break; case "虹口烟感": flashLayerStatus(fe1,"状态",1); break; case "摄像头": flashLayerStatus(fe2,"状态",1); break; case "危险源": flashLayerStatus(fe3,"状态",1); break; case "门磁": flashLayerStatus(fe5,"状态",1); break; default: ClearLightLayerStatus(); break; } break; } case "onLocation":{ setPointBylonlat(payload.data[0],payload.data[1],payload.data[2],payload.data[3],payload.data[4],payload.data[5] ,payload.data[6]); break; } case "MeasureLengthByPoint":{ //parent.eval(payload.backfun+"()"); MeasureLengthByPoint(payload.data[0],payload.data[1],payload.data[2],payload.data[3],payload.backfun); break; } case "newQuery":{ newQuerybyWhereStr(payload.data[0],payload.data[1],GetConfigDataByName("MYQueryLayer"),null,null,payload.data[2]); break; } case "onLocationforGrid" :{ setPointBylonlatForGrid(payload.data[0],payload.data[1]); break; } case "onLocationforAddress":{ setPointBylonlatForAddress(payload.data[0],payload.data[1]); break; } case "onQueryByPoint":{ setPointBylonlatForGetBuffer(payload.data[0],payload.data[1],payload.data[2],payload.data[3],payload.data[4],payload.data[5]); break; } case "onQueryByGrid":{ getGridGeometry(payload.data[0],payload.data[1]); break; } case "onMapCenter":{ var mapcenter = m_view.center ; window.parent.postMessage( { method: "mapCenterCallback", data:[JSON.stringify(mapcenter).replace(/\"/g,'"')] }, '*' ); break; } case "onMapLevel":{ var mapzoom = m_view.zoom; window.parent.postMessage( { method: "mapLevelCallback", data:[JSON.stringify(mapzoom).replace(/\"/g,'"')] }, '*' ); break; } case "onMapSetCenter":{ goToZoom(payload.data[0],payload.data[1]); // setPointBylonlatForSetCenter(payload.data[0],payload.data[1]); break; } case "onGetXYbyAddress":{ getXYbyAddress(payload.data[0]); break; } case "onSetInitExtentByStr":{ // getXYbyAddress(payload.data[0]); if(payload.data[0] == "区县边界") queryForExtent(payload.data[0],"区县名称=" +"'"+ payload.data[1]+"'",100); else queryForExtent(payload.data[0], "街道名称=" +"'"+ payload.data[1]+"'",100); break; } case "onQueryByCondition":{ newQuerybyWhereStr(payload.data[0],payload.data[1],GetConfigDataByName("MYQueryLayer"),null,payload.data[2],payload.data[3]); break; } case "openFeatureLayerByNameandWhere":{ newOpenFeatureLayer(payload.data[0],payload.data[1],payload.data[2],payload.data[3],payload.data[4]); break; } case "onClickLocation":{ m_mapClickdraw = true; m_mapAttribute = payload.data[0]; m_mapToolTip = payload.data[1]; m_mapImgUrl = payload.data[2]; m_mapImgWidth = payload.data[3]; m_mapImgHeight = payload.data[4]; break; } case "onSetResizeType":{ sj_type = payload.data[0]; sj_radius = payload.data[1]; sj_layername = payload.data[2]; break; } case "onSetLayerCluster":{ setLayerCluster(payload.data[0],payload.data[1]); break; } case "onShowPolygonandText":{ var jsonarr = payload.data[0]; for(var i=0;i<jsonarr.length;i++){ var jsonStr = jsonarr[i]; // var test = jsonStr; ShowPolygonandText(jsonStr.type,jsonStr.name,jsonStr.text); } // ShowPolygonandText(payload.data[0],payload.data[1],payload.data[2]); break; } case "onLocationGetLatLon":{ var action = m_drawtool.create("point"); require(["esri/geometry/Point","esri/Graphic"], function(Point,Graphic) { action.on("draw-complete", function(evt) { m_view.graphics.removeAll(); GraphicsLayer_flyTipLayer.removeAll(); var point = new Point({ x: evt.coordinates[0], y: evt.coordinates[1], spatialReference: m_view.spatialReference }); var markerSymbol = { type: "simple-marker", color: payload.data[0], style: "circle", size: 10 } var pointGraphic = new Graphic({ geometry: point, symbol: markerSymbol }); GraphicsLayer_flyTipLayer.add(pointGraphic); window.parent.postMessage( { method: "onLocationGetLatLonbackfun", data: [evt.coordinates] }, '*' ); }); }); break; } case "onDrawPolygonCircle":{ require(["esri/geometry/Polygon","esri/Graphic","esri/geometry/Point","esri/geometry/Circle"], function(Polygon,Graphic,Point,Circle) { m_view.graphics.removeAll(); GraphicsLayer_flyTipLayer.removeAll(); var action = m_drawtool.create("circle"); // 获取焦点 m_view.focus(); //顶点移除事件 action.on("vertex-remove", createCircle); // 鼠标移动事件 action.on("cursor-update", createCircle); // 绘制完成事件 action.on("draw-complete", createCirclecomplete); function createCircle(event) { //获取所有顶点 var vertices = event.vertices; //少于一个点无法展示圆 if(vertices.length<2){ return } //清除之前绘制 GraphicsLayer_flyTipLayer.removeAll(); //生成绘制的图形,两点画圆 var center=new Point({ hasZ: false, hasM: false, x:vertices[0][0], y:vertices[0][1], spatialReference: m_view.spatialReference }); var dis=center.distance(new Point({ hasZ: false, hasM: false, x:vertices[1][0], y:vertices[1][1], spatialReference: m_view.spatialReference })); var graphic = new Graphic({ geometry: new Circle({ hasZ: false, hasM: false, center:center, radius:dis, spatialReference: m_view.spatialReference }), symbol: { type: "simple-fill", // autocasts as new SimpleFillSymbol() color: [ 51,51, 204, 0.9 ], style: "solid", outline: { // autocasts as new SimpleLineSymbol() color: "white", width: 1 } } }); // 将绘制的图形添加到view GraphicsLayer_flyTipLayer.add(graphic); } function createCirclecomplete(event) { //获取所有顶点 var vertices = event.vertices; //少于一个点无法展示圆 if(vertices.length<2){ return } //清除之前绘制 GraphicsLayer_flyTipLayer.removeAll(); //生成绘制的图形,两点画圆 var center=new Point({ hasZ: false, hasM: false, x:vertices[0][0], y:vertices[0][1], spatialReference: m_view.spatialReference }); var dis=center.distance(new Point({ hasZ: false, hasM: false, x:vertices[1][0], y:vertices[1][1], spatialReference: m_view.spatialReference })); var graphic = new Graphic({ geometry: new Circle({ hasZ: false, hasM: false, center:center, radius:dis, spatialReference: m_view.spatialReference }), symbol: { type: "simple-fill", // autocasts as new SimpleFillSymbol() color: [ 51,51, 204, 0.9 ], style: "solid", outline: { // autocasts as new SimpleLineSymbol() color: "white", width: 1 } } }); // 将绘制的图形添加到view GraphicsLayer_flyTipLayer.add(graphic); window.parent.postMessage( { method: "onDrawPolygoncallbackfun", data: [graphic.geometry.rings] }, '*' ); } }); break; } case "onLightArea":{ highLightArea(payload.data[0],payload.data[1],payload.data[2],payload.data[3]); break; } case "onEchartsRoute":{ echartsRoute(payload.data[0],payload.data[1],payload.data[2],payload.data[3]); break; } case "onPopupIn":{ if(popupInfos.length>0){ popupShowAll(); } else{ popupInit(payload.data[0],payload.data[1]); } break; } case "onPopupClose":{ popupCloseAll(); popupInfos=[]; break; } case "doClusterByJson":{ clusterByJson(payload.data[0]); break; } case "doCloseClusterByJson":{ closeClusterByJson(); break } case 'doDeletePointById': doDeletePointById(payload.data[0]); break; case "doShowAreaName": doShowAreaName(payload.data[0],payload.data[1],payload.data[2],payload.data[3],payload.data[4]); break; case "onDrawPolygonSquare":{ require(["esri/geometry/Polygon","esri/Graphic","esri/geometry/Point","esri/geometry/Circle"], function(Polygon,Graphic,Point,Circle) { m_view.graphics.removeAll(); GraphicsLayer_flyTipLayer.removeAll(); var action = m_drawtool.create("rectangle", { mode: "click"//点击方式加点 }); // 获取焦点 m_view.focus(); //顶点移除事件 action.on("vertex-remove", createRectangle); // 鼠标移动事件 action.on("cursor-update", createRectangle); // 绘制完成事件 action.on("draw-complete", createRectangleComplete); function createRectangle(event) { //获取所有顶点 var vertices = event.vertices; //两点画矩形 if(vertices.length<2){ return } var rings=[vertices[0],[vertices[0][0],vertices[1][1]],vertices[1],[vertices[1][0],vertices[0][1]]]; //清除之前绘制 GraphicsLayer_flyTipLayer.removeAll(); // 生成绘制的图形 var graphic = new Graphic({ geometry: new Polygon({ hasZ: false, hasM: false, rings: [rings], spatialReference: m_view.spatialReference }), symbol: { type: "simple-fill", // autocasts as new SimpleFillSymbol() color: [ 51,51, 204, 0.9 ], style: "solid", outline: { // autocasts as new SimpleLineSymbol() color: "white", width: 1 } } }); // 将绘制的图形添加到view GraphicsLayer_flyTipLayer.add(graphic); } function createRectangleComplete(event) { //获取所有顶点 var vertices = event.vertices; //两点画矩形 if(vertices.length<2){ return } var rings=[vertices[0],[vertices[0][0],vertices[1][1]],vertices[1],[vertices[1][0],vertices[0][1]]]; //清除之前绘制 GraphicsLayer_flyTipLayer.removeAll(); // 生成绘制的图形 var graphic = new Graphic({ geometry: new Polygon({ hasZ: false, hasM: false, rings: [rings], spatialReference: m_view.spatialReference }), symbol: { type: "simple-fill", // autocasts as new SimpleFillSymbol() color: [ 51,51, 204, 0.9 ], style: "solid", outline: { // autocasts as new SimpleLineSymbol() color: "white", width: 1 } } }); // 将绘制的图形添加到view GraphicsLayer_flyTipLayer.add(graphic); window.parent.postMessage( { method: "onDrawPolygoncallbackfun", data: [graphic.geometry.rings] }, '*' ); } }); break; } case "doCorrugatedPointByOid":{ doCorrugatedPointByOid(payload.data[0]); break; } case "doClearCorrugatedPoint":{ doClearCorrugatedPoint(); break; } case "doXyToStreetId":{ doXyToStreetId(payload.data[0],payload.data[1]); break; } case "goToGraphic":{ goToGraphic(payload.data[0], payload.data[1]); break; } case "doWaterRouteClick":{ if(chartLayer){ chartLayer.removeLayer(); chartLayer=null; } if(chartLayer2){ chartLayer2.removeLayer(); chartLayer2=null; } if(chartLayer3){ chartLayer3.removeLayer(); chartLayer3=null; } queryResetNumByType(payload.data[0]); break } } }; //初始化配置文件 GetConfigData(); require(["dojo/domReady!"], function () { loadMap(); }); function loadMap() { //判断 if (GetConfigDataByName("maptype") == "3D") { init3DScene(); } else { initMap(); } } function onMapLoadInfo(){ console.log("test2") postToParentPageMethed("maploadCallback",[]); } function onMapLoaded() { removeLoadingDiv(); // GetLayerMainRestInfo2(GetConfigDataByName("MYQueryLayer")); // var test = GetConfigDataByName("MYCXFeatureLayerLayer"); // setPointBylonlat(121,30); //alert("加载完成"); } //--------------- 按钮事件 ----------------- //切换二三维地图 function onViewTestClick() { ViewChange() } function ViewChange() { //m_view.container=null; // showLoadingDiv("正在切换地图,请稍后..."); if (currentMapMode == "2D") { switchTo3DMap(); } else { switchTo2DMap(); } } //清空地图 function btClear_Click() { //Clear(); } function Clear(type) { require(["esri/layers/GraphicsLayer"], function ( GraphicsLayer) { switch (type) { case "all": { m_map.remove(GraphicsLayer_DrawLayer) GraphicsLayer_DrawLayer = new GraphicsLayer({id: "myDrawGLayer"}); GraphicsLayer_DrawLayer.listMode = "hide"; m_map.add(GraphicsLayer_DrawLayer); GraphicsLayer_myLayer.removeAll(); isInLightArea = "" // GraphicsLayer_DrawLayer.removeAll(); GraphicsLayer_flyTipLayer.removeAll(); if (chartLayer) { chartLayer.removeLayer(); chartLayer = null; } if (chartLayer2) { chartLayer2.removeLayer(); chartLayer2 = null; } if (chartLayer3) { chartLayer3.removeLayer(); chartLayer3 = null; } xmlQueryExtend = null; queryExtent = null; break; } case "drawLayer": { GraphicsLayer_DrawLayer.removeAll(); GraphicsLayer_flyTipLayer.removeAll(); xmlQueryExtend = null; queryExtent = null; break; } case "queryLayer": { GraphicsLayer_myLayer.removeAll(); isInLightArea = "" GraphicsLayer_flyTipLayer.removeAll(); xmlQueryExtend = null; queryExtent = null; break; } case "chartLayer": { if (chartLayer) { chartLayer.removeLayer(); chartLayer = null; } if (chartLayer2) { chartLayer2.removeLayer(); chartLayer2 = null; } if (chartLayer3) { chartLayer3.removeLayer(); chartLayer3 = null; } break; } } }) // var mtype = type | "all"; } //查询 function btSearch_Click() { // var dynamicLayerURL="https://services8.arcgis.com/wUIATpkD1eTGk5lC/arcgis/rest/services/CMRQTest2_WFL1/FeatureServer"; // var QueryLayerID="13"; var dynamicLayerURL ="http://139.196.105.31:6080/ArcGIS/rest/services/HKEMAP/MapServer"; if(GetConfigDataByName("QueryLayer")) { dynamicLayerURL=GetConfigDataByName("QueryLayer"); } var QueryLayerID = "13"; var whereString = ""; whereString = "HANDLE号 like '%" + document.getElementById("txtSearch").value + "%'"; require([ "esri/Graphic", "esri/tasks/QueryTask", "esri/tasks/support/Query", "esri/symbols/SimpleMarkerSymbol", "esri/symbols/SimpleLineSymbol", "esri/geometry/Point", "esri/geometry/Polyline", "esri/symbols/PointSymbol3D", "esri/renderers/SimpleRenderer", "esri/symbols/ObjectSymbol3DLayer", "esri/PopupTemplate", "dojo/_base/array" ], function (Graphic, QueryTask, Query, SimpleMarkerSymbol, SimpleLineSymbol, Point, Polyline, PointSymbol3D, SimpleRenderer, ObjectSymbol3DLayer, PopupTemplate, array) { var layerinfo = getLayerByLayerId(QueryLayerID); var queryTask = new QueryTask(dynamicLayerURL + "/" + QueryLayerID); var query = new Query(); query.returnGeometry = true; query.outFields = ["*"]; query.where = whereString; var defaultPointSymbol = new SimpleMarkerSymbol({ color: [226, 119, 40], outline: { // autocasts as new SimpleLineSymbol() color: [255, 255, 255], width: 2 } }); var defaultLineSymbol = new SimpleLineSymbol({ color: [255, 0, 255], width: 2 }); var objectSymbol = new PointSymbol3D({ symbolLayers: [new ObjectSymbol3DLayer({ width: 2, height: 3, resource: { primitive: "cone" }, material: { color: "#FFD700" } })] }); var objectSymbolRenderer = new SimpleRenderer({ symbol: objectSymbol }); //graphicsLayer.renderer = objectSymbolRenderer; queryTask.execute(query).then(function (results) { array.forEach(results.features, function (graphic, i) { var graphic2; var point2; switch (graphic.geometry.type) { case "point": { graphic.geometry.z = 1000; graphic.symbol = defaultPointSymbol; break; } case "polyline": var geo = Polyline(graphic.geometry); geo.hasZ = true; geo.hasM = false; var paths = geo.paths; for (var i = 0; i < paths.length; i++) { for (var j = 0; j < paths[i].length; j++) { paths[i][j] = [paths[i][j][0], paths[i][j][1], 50]; } var middleNumber = Math.floor(paths[i].length / 2); point2 = new Point({ x: paths[i][middleNumber][0], y: paths[i][middleNumber][1], z: 50, spatialReference: view.spatialReference }); } graphic.symbol = defaultLineSymbol; graphic.geometry = geo; graphic2 = new Graphic(); graphic2.attributes = graphic.attributes; graphic2.geometry = point2; graphic2.symbol = objectSymbol; graphic2.attributes = graphic.attributes; graphic2.popupTemplate = layerinfo.popupTemplate; graphic.popupTemplate = new PopupTemplate({ title: "HANDLE号:{HANDLE号}" }); break; } GraphicsLayer_myLayer.add(graphic); GraphicsLayer_myLayer.add(graphic2); }); }); }) } var laylistshow=0; function layerOnOff() { if(laylistshow==0){ laylistshow=1; m_view.ui.add(layerList, { position: "bottom-right" }); } else { laylistshow=0; m_view.ui.remove(layerList); } } function doSetExtent(num) { var xmin,ymin,xmax,ymax; switch(num){ case 1: xmin=-17221.816; ymin=-5450.66; xmax=-15189.445; ymax=-4297.402; break; case 2: xmin=-25930.782; ymin=-10527.042; xmax=-5599.259; ymax=647.995; break; case 3: xmin=-89836.648; ymin=-56485.216; xmax=70797.201; ymax=31738.557; break; } setExtent(xmin,ymin,xmax,ymax); } var myAttribute,myToolTip,myImgUrl,myImgWidth,myImgHeight; function setPointBylonlat(x,y,Attribute,ToolTip,ImgUrl,ImgWidth,ImgHeight){ myAttribute = Attribute; myToolTip = ToolTip; myImgUrl = ImgUrl; myImgWidth = ImgWidth; myImgHeight=ImgHeight var url = GetConfigDataByName("WebServiceConvertCoordinateURL"); WsCommonClass("ConvertLonLatToXY",["lon","lat"],[x,y],getXYbylonlat,null,url); } function getXYbylonlat(evt){ if(evt[0] == null) { console.log("经纬度转换失败 error"); return; } // console.log(evt[0].textContent); var point = evt[0].textContent; var jsonStr = '{"ExChangeRoot": {"Features": [' + ' { "type": "point", "featureName": "兴趣点", "Feature":[ { "Geometry": { "Points":[ { "Point": "'+point+'" } ]},' + '"Attribute": '+myAttribute+', "ToolTip": "'+myToolTip+'",' + '"ImgUrl":"'+myImgUrl +'" ,"ImgWidth":"'+ myImgWidth +'","ImgHeight":"'+myImgHeight +'" } ] } ]}}'; doGetGraphicByJson(jsonStr,true); // console.log(jsonStr); } function setPointBylonlatForGrid(x,y){ var url = GetConfigDataByName("WebServiceConvertCoordinateURL"); WsCommonClass("ConvertLonLatToXY",["lon","lat"],[x,y],getXYbylonlatforGrid,null,url); } function getXYbylonlatforGrid(evt){ if(evt[0] == null) { console.log("经纬度转换失败 error"); return; } // console.log(evt[0].textContent); var point = evt[0].textContent; identifyTask(point,identifyTaskcallbackfun); } function identifyTaskcallbackfun(results){ window.parent.postMessage( { method: "identifyTaskcallbackfun", data: [results] }, '*' ); } function setPointBylonlatForAddress(x,y){ var url = GetConfigDataByName("WebServiceConvertCoordinateURL"); WsCommonClass("ConvertLonLatToXY",["lon","lat"],[x,y],getXYbylonlatforAddress,null,url); } function getXYbylonlatforAddress(evt){ if(evt[0] == null) { console.log("经纬度转换失败 error"); return; } // console.log(evt[0].textContent); var point = evt[0].textContent; // var url = GetConfigDataByName("WebServiceExtraURL"); // WsCommonClass("GetAddress",["x","y"],[point.split(',')[0],point.split(',')[1]],getAddressCallback,null,url); GetAddressByXY(point.split(',')[0],point.split(',')[1],50); } function getAddressCallback(evt){ if(evt[0] == null) { console.log("经纬度转换失败 error"); return; } var address = evt[0].textContent; window.parent.postMessage( { method: "addressdataCallback", data: [address] }, '*' ); } var m_radius; var m_layername; var m_showGraphic; function setPointBylonlatForGetBuffer(x,y,layername,radius,isshow,isGoTo){ m_radius = radius; m_layername = layername; m_showGraphic = isshow; var url = GetConfigDataByName("WebServiceConvertCoordinateURL"); WsCommonClass("ConvertLonLatToXY",["lon","lat"],[x-0,y-0],getXYbylonlatforBuffer,isGoTo,url); } function getXYbylonlatforBuffer(evt,isGoTo){ if(evt[0] == null) { console.log("经纬度转换失败 error"); return; } var point = evt[0].textContent; // var buffer = getBufferByPoint(point.split(',')[0],point.split(',')[1],m_radius); getBufferByPoint(point.split(',')[0],point.split(',')[1],m_radius,m_layername,m_showGraphic,isGoTo); //m_layername; // queryByGeometryAndLayer(buffer,m_layername); } function getGridGeometry(grid,layername){ getGridGeometryByGridID(grid,layername); } function setPointBylonlatForSetCenter(x,y){ var url = GetConfigDataByName("WebServiceConvertCoordinateURL"); WsCommonClass("ConvertLonLatToXY",["lon","lat"],[x-0,y-0],getPointBylonlatForSetCenterr,null,url); } function getPointBylonlatForSetCenterr(evt){ if(evt[0] == null) { console.log("经纬度转换失败 error"); return; } var point = evt[0].textContent; m_view.center.x = point.split(',')[0]-0; m_view.center.y = point.split(',')[1]-0; m_view.goTo({ target: m_view.center }); // m_view.center = [point.split(',')[0]-0,point.split(',')[1]-0]; } var callMeasureLengthfun; function MeasureLengthByPoint(x,y,x1,y1,fun){ callMeasureLengthfun = fun; var url = GetConfigDataByName("WebServiceConvertCoordinateURL"); var sql="121,31;121,31.1"; sql = x+","+y+";"+x1+","+y1; WsCommonClass("ConvertLonLatToXYMass",["lonAndLatGroup"],[sql],getXYbylonlatMass,null,url); } function getXYbylonlatMass(evt){ console.log(evt[0].textContent); var points = evt[0].textContent.split(';'); var x = points[0].split(',')[0]; var y = points[0].split(',')[1]; var x1 = points[1].split(',')[0]; var y1 = points[1].split(',')[1]; var len = measurePolylineByPoint(x,y,x1,y1); // parent.eval(callMeasureLengthfun+"("+ len+")"); window.parent.postMessage( { method: callMeasureLengthfun, data: [len] }, '*' ); } function getXYbyAddress(str){ var url = GetConfigDataByName("WebServiceExtraURL"); WsCommonClass("GetStreetInfo",["address"],[str],getXYbyAddressCallback,null,url); } function getXYbyAddressCallback(evt){ if(evt[0] == null) { console.log("error"); return; } // var jsonArray = $.xml2json(evt[0].textContent); var jsonArray = $.xml2json(evt[0].innerHTML); // var jsonArray = xmltojson(evt[0].textContent); //var jsonArray =JSON.parse(evt[0].textContent)[0].data; window.parent.postMessage( { method: "XYbyAddressCallback", data:[JSON.stringify(jsonArray).replace(/\"/g,'"')] }, '*' ); } function newOpenFeatureLayer(layername,type ,name,isGoTo,isOpen){ newOpenLayer(layername,type ,name,isGoTo,isOpen); } function popupClick(json) { postToParentPageMethed("popupClickReturn",[json]); } function sqlReturn(evt,keyValue){ require(["esri/geometry/Extent", "esri/Graphic"], function(Extent, Graphic) { var allCount; var pageIndex; var jsonArray ; if(evt[0] != null) { allCount =JSON.parse(evt[0].textContent)[0].AllCount; pageIndex=JSON.parse(evt[0].textContent)[0].pageIndex; jsonArray =JSON.parse(evt[0].textContent)[0].data; }else{ jsonArray =[] } switch (keyValue){ case "queryResetNumByType":{ var TestData1 = [ ]; var TestData2 = [ ]; for(var i=0;i<jsonArray.length;i++){ TestData1.push( [{ name:jsonArray[i].water_source_name,xy:[jsonArray[i].x1,jsonArray[i].y1] }, { name: jsonArray[i].water_work_name,xy:[jsonArray[i].x2,jsonArray[i].y2] }]); TestData2.push( [{ name:jsonArray[i].water_work_name,xy:[jsonArray[i].x2,jsonArray[i].y2] }, { name: jsonArray[i].area_name,xy:[jsonArray[i].x3,jsonArray[i].y3] }]); } echartsWaterSourceToWorkRoute(TestData1,"#3581FF","",4); echartsWaterWorkToAreaRoute(TestData2,"#42ebff","",4); break; } } }) } </script> </head> <body> <div id="mapDiv"> <!--<div id="viewTest">--> <!--<button onclick="layerOnOff();">图层开关</button>--> <!--</div>--> </div> <div id="infoDialog" title="详细信息"> <div id="divShowResult"></div> </div> </body> </html>