map.esri.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport"
  6. content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  7. <title>自然资源一张图</title>
  8. <link href="../css/mui.min.css" rel="stylesheet" />
  9. <!-- 引入自定义样式 -->
  10. <link rel="stylesheet" type="text/css" href="../css/app.css" />
  11. <link rel="stylesheet" type="text/css" href="../css/app.new.css" />
  12. <!-- 引入arcigs在线样式 -->
  13. <link rel="stylesheet"
  14. href="http://218.59.194.82:9092/arcgis_js_api/javascript/4.21/esri/themes/light/main.css">
  15. <!-- 引入案件样式 -->
  16. <link rel="stylesheet" type="text/css" href="../css/case.css" />
  17. <!-- 引入弹窗及选择器样式 -->
  18. <link rel="stylesheet" type="text/css" href="../css/mui.picker.min.css" />
  19. <link rel="stylesheet" type="text/css" href="../css/mui.poppicker.css" />
  20. <!-- 引入地图页面独有样式 -->
  21. <link rel="stylesheet" type="text/css" href="../css/cr.map.css" />
  22. <!-- 引入字体 -->
  23. <link rel="stylesheet" type="text/css" href="../fonts/TTTGB-Medium.css" />
  24. <link rel="stylesheet" href="../fonts/font-jt.css">
  25. <!-- 引入占压分析结果集样式 -->
  26. <link rel="stylesheet" href="../css/csa.count.css">
  27. <!-- 本页独有样式 -->
  28. <style>
  29. /* 弹框的背景 干掉试试 */
  30. .mui-backdrop.mui-active.mui-backdrop-action {
  31. display: none;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <!-- 具备侧滑功能 根容器 -->
  37. <div id="offCanvasWrapper" class="mui-off-canvas-wrap" style="position: relative;">
  38. <aside class="mui-off-canvas-right">
  39. <div class="jt-wrap-right-canvas">
  40. <div class="jt-wrap-right-head">
  41. <span id="divTitle"></span>
  42. <span class="app-icon app-icon-arrow-right"
  43. onclick="mui('#offCanvasWrapper').offCanvas('close')"></span>
  44. </div>
  45. <!-- 具体内容容器 -->
  46. <div class="jt-wrap-right-content" id="divContent">
  47. </div>
  48. </div>
  49. </aside>
  50. <!-- 主要内容 -->
  51. <div class="mui-inner-wrap">
  52. <div class="mui-content mui-scroll-wrapper">
  53. <!-- 搜索栏 -->
  54. <header class="mui-bar cr-bar jt-hide jt-normal-hide" style="z-index: 999;">
  55. <div class="mui-input-row mui-search">
  56. <input type="search" id="search" placeholder="支持模糊查询">
  57. <button class="jt-layer-select-btn jt-hide"><span
  58. class="app-icon app-icon-map-layer-select"></span></button>
  59. </div>
  60. </header>
  61. <!-- 地图 -->
  62. <div id="MainMap"
  63. style="height:103%;width: 103%;position: relative;margin-top: -10px;margin-left: -10px;">
  64. </div>
  65. <!-- 左侧工具栏 -->
  66. <div class="ui-content-padded jt-map-tools"
  67. style="position: absolute;top: 50px;left: 4px;width: 40px;">
  68. <!-- 测量长度 -->
  69. <button data-info="在地图上点击需要测量对象的特征位置,即可实时计算长度并展示" class="mui-btn wc-map-div-btn"
  70. onclick="EventClick_MeasureLength()">
  71. <span class="app-icon app-icon-map-measurelength"></span>
  72. <span>长度量测</span>
  73. </button>
  74. <!-- 测量面积 -->
  75. <button data-info="在地图上点击需要测量的对象特征位置,即可实时计算面积并展示" class="mui-btn wc-map-div-btn"
  76. onclick="EventClick_MeasureArea()">
  77. <span class="app-icon app-icon-map-measurearea"></span>
  78. <span>面积量测</span>
  79. </button>
  80. <!-- 地图初始化 -->
  81. <button data-info="点击即可重置地图范围为初始显示范围" class="mui-btn wc-map-div-btn"
  82. onclick="EventClick_MapInit()">
  83. <span class="app-icon app-icon-map-initlocation"></span>
  84. <span>重置地图</span>
  85. </button>
  86. <!-- 地图点击查询坐标 -->
  87. <button data-info="在地图上需要查询坐标的位置上点击,即可查询该位置的地理坐标" class="mui-btn wc-map-div-btn"
  88. onclick="EventClick_QueryCoord()">
  89. <span class="app-icon app-icon-map-querycoord"></span>
  90. <span>坐标查询</span>
  91. </button>
  92. <!-- 输入坐标地图定位-->
  93. <button data-info="点击后,弹出坐标输入框,输入正确的位置坐标后点击定位,即可在地图上展示坐标位置" class="mui-btn wc-map-div-btn"
  94. onclick="EventClick_CoordQuery()">
  95. <span class="app-icon app-icon-map-inputcoord-location"></span>
  96. <span>坐标定位</span>
  97. </button>
  98. </div>
  99. <!-- 右侧工具栏 -->
  100. <div class="ui-content-padded jt-map-tools"
  101. style="position: absolute;top: 50px;right: 4px;width: 40px;">
  102. <!-- 图层控制 -->
  103. <button data-info="点击即可打开图层控制窗口,进行图层及标注的显示/隐藏" class="mui-btn wc-map-div-btn"
  104. onclick="EventClick_Layer(this)">
  105. <span class="app-icon app-icon-map-layer"></span>
  106. <span>图层控制</span>
  107. </button>
  108. <!-- 点图查询 -->
  109. <button data-info="点击后,在需要查询的位置单击,即可查询该位置的全部可见图层数据"
  110. class="mui-btn wc-map-div-btn jt-normal-hide" onclick="EventClick_Query_Point()">
  111. <span class="app-icon app-icon-map-query-point"></span>
  112. <span>点击查询</span>
  113. </button>
  114. <!-- 区域查询 -->
  115. <button data-info="点击后,在地图上绘制查询区域,单击开始查询,即可查询该区域内的全部可见图层数据"
  116. class="mui-btn wc-map-div-btn jt-normal-hide" onclick="EventClick_Query_Polygon()">
  117. <span class="app-icon app-icon-map-query-polygon"></span>
  118. <span>区域查询</span>
  119. </button>
  120. <!-- 通用选择占压分析 -->
  121. <button data-info="点击后,选择需要分析的图斑,即可分析选择图斑的占压信息" class="mui-btn wc-map-div-btn jt-normal-hide"
  122. onclick="EventClick_Select_Spatial_Analysis()">
  123. <span class="app-icon app-icon-map-case-analysis"></span>
  124. <span>选择占压</span>
  125. </button>
  126. <!-- 通用绘制占压分析 -->
  127. <button data-info="点击后,绘制占压区域,单击开始分析,对绘制区域内的占压情况进行分析并展示结果"
  128. class="mui-btn wc-map-div-btn jt-normal-hide"
  129. onclick="EventClick_Common_Spatial_Analysis()">
  130. <span class="app-icon app-icon-map-common-analysis"></span>
  131. <span>区域占压</span>
  132. </button>
  133. <!-- 窗口管理 -->
  134. <button data-info="显示或隐藏信息窗口" class="mui-btn wc-map-div-btn jt-normal-hide"
  135. onclick="EventClick_QueryWindow()">
  136. <span class="app-icon app-icon-map-window"></span>
  137. <span>窗口管理</span>
  138. </button>
  139. <!-- 清扫工具 -->
  140. <button data-info="清除地图上的各类绘制内容" class="mui-btn wc-map-div-btn" onclick="EventClick_Clean()">
  141. <span class="app-icon app-icon-map-clean"></span>
  142. <span>清扫工具</span>
  143. </button>
  144. </div>
  145. </div>
  146. <!-- 蒙版 -->
  147. <div class="mui-off-canvas-backdrop"></div>
  148. </div>
  149. </div>
  150. <!-- 我的位置 -->
  151. <button data-info="开启/关闭GPS位置及方位的实时追踪定位" class="mui-btn wc-map-div-btn" onclick="EventClick_Location()"
  152. style="position: absolute;bottom: 20px;left: 10px;z-index: 999;">
  153. <span class="app-icon app-icon-map-location"></span>
  154. <span id="spanLocationLabel">开启定位</span>
  155. </button>
  156. <!-- 查询结果弹出层 -->
  157. <div id="queryResultPopover" class="mui-popover mui-popover-action mui-popover-bottom wc-popover-case">
  158. <header id="queryResultTitle" class="mui-bar" onclick="mui('#queryResultPopover').popover('hide');">查询结果
  159. </header>
  160. <div class="mui-slider" id="slider">
  161. <!-- mui-slider-loop 如果需要轮循播放需要添加-->
  162. <div id="caseQueryResult" class="mui-slider-group">
  163. </div>
  164. </div>
  165. </div>
  166. <!-- 坐标输入定位弹出层 -->
  167. <div id="popoverCoordLocation" class="mui-popover mui-popover-action mui-popover-bottom wc-popover-coord-input">
  168. <header class="mui-bar" onclick="mui('#popoverCoordLocation').popover('hide');">输入坐标进行空间定位</header>
  169. <div>
  170. <div class="mui-row wc-row wc-input-row">
  171. <span class="app-icon app-icon-nomarl-location"></span><span>经度</span>
  172. <div class="mui-input-row">
  173. <input id="iLongitude" type="text" class="mui-input-clear mui-input f-color"
  174. placeholder="输入经度118.2282524">
  175. </div>
  176. </div>
  177. <div class="mui-row wc-row wc-input-row">
  178. <span class="app-icon app-icon-nomarl-location"></span><span>纬度</span>
  179. <div class="mui-input-row">
  180. <input id="iLatitude" type="text" class="mui-input-clear mui-input f-color"
  181. placeholder="输入纬度35.158361">
  182. </div>
  183. </div>
  184. <div class="mui-row wc-row" style="justify-content: flex-end;">
  185. <button type="button" class="mui-btn mui-btn-primary wc-btn-location"
  186. onclick="EventClick_InputLocation()">定位</button>
  187. </div>
  188. </div>
  189. </div>
  190. <!-- 辅助工具弹出框 -->
  191. <div id="divResult" class="cr-result">
  192. <div></div>
  193. <span class="app-icon app-icon-close" onclick="hideNormalResult()"></span>
  194. </div>
  195. <!-- 航线查询窗口 -->
  196. <div id="divFlightQuery" class="jt-line-panel">
  197. <div class="jt-line-top" onclick="hideFlightLineQueryPopover()">
  198. <span>飞行航线查询</span>
  199. </div>
  200. <div class="jt-line-row">
  201. <span>选择飞行日期</span>
  202. <button id="btnFlightDate" class="jt-line-select-btn"
  203. data-options='{"type":"date","beginYear":2001,"endYear":2035}' value="选择飞行日期">选择飞行日期</button>
  204. </div>
  205. <div class="jt-line-row">
  206. <span>选择巡查人员</span>
  207. <button id="btnFlightMember" class="jt-line-select-btn" value="选择巡查人员">选择巡查人员</button>
  208. </div>
  209. <div class="jt-line-row">
  210. <div class="jt-line-result">航线查询结果</div>
  211. <button type="button" class="mui-btn mui-btn-primary app-icon app-icon-menu-query jt-line-btn"
  212. onclick="event_click_queryLines()">查询</button>
  213. <button type="button" class="mui-btn mui-btn-royal app-icon app-icon-map-clean jt-line-btn"
  214. onclick="event_click_clearLines()">清除</button>
  215. </div>
  216. </div>
  217. <!-- 多图层选择容器 -->
  218. <div class="jt-popover-left">
  219. <header class="mui-bar" onclick="$(this).parent().animate({right:'100%'})">
  220. <span class="jt-title">查询结果</span>
  221. <span class="app-icon app-icon-close-left-arrow jt-icon"></span>
  222. </header>
  223. <div class="mui-scroll-wrapper">
  224. <div class="mui-scroll">
  225. <div class="jt-layer-select-content">
  226. </div>
  227. </div>
  228. </div>
  229. </div>
  230. </body>
  231. </html>
  232. <!-- 引入mui脚本 -->
  233. <script src="../js/mui.js" type="text/javascript" charset="utf-8"></script>
  234. <!-- 引入弹窗及选择器脚本 -->
  235. <script src="../js/mui.picker.min.js" type="text/javascript" charset="utf-8"></script>
  236. <script src="../js/mui.poppicker.js" type="text/javascript" charset="utf-8"></script>
  237. <!-- 引入图表脚本 -->
  238. <script src="../js/ECharts/echarts.js" type="text/javascript" charset="utf-8"></script>
  239. <!-- 引入自定义图表脚本 -->
  240. <script src="../js/CRECharts.js" type="text/javascript" charset="utf-8"></script>
  241. <!-- 引入ArcGIS脚本 -->
  242. <script src="http://218.59.194.82:9092/arcgis_js_api/javascript/4.21/init.js"></script>
  243. <!-- 引入jQuery脚本 -->
  244. <script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
  245. <!--引入通用脚本-->
  246. <script src="../js/common.js"></script>
  247. <!-- 引入存储脚本 -->
  248. <script src="../js/save.js" type="text/javascript" charset="utf-8"></script>
  249. <!-- 引入案件脚本 -->
  250. <script src="../js/case.js" type="text/javascript" charset="utf-8"></script>
  251. <!-- 进入ajax脚本 -->
  252. <script src="../js/ajax.js" type="text/javascript" charset="utf-8"></script>
  253. <!--引入地图相关脚本-->
  254. <script src="../js/JTMapKit.js"></script>
  255. <script src="../js/MapManager.js"></script>
  256. <!-- 引入案件基础脚本 -->
  257. <script src="../js/case-list-base.js" type="text/javascript" charset="utf-8"></script>
  258. <!-- 引入webview脚本 -->
  259. <script src="../js/webview.js" type="text/javascript" charset="utf-8"></script>
  260. <!-- 引入执法地图脚本 -->
  261. <script src="../js/map/map.zf.js" type="text/javascript" charset="utf-8"></script>
  262. <!-- 引入普通地图脚本 -->
  263. <script src="../js/map/map.normal.js"></script>
  264. <!-- 本页专用脚本 -->
  265. <script type="text/javascript">
  266. /* mui初始化 */
  267. mui.init({
  268. gestureConfig: {
  269. longtap: true, //默认为false
  270. }
  271. });
  272. /* 添加地图工具长按提醒 */
  273. mui('body').on('longtap', '.mui-btn', function() {
  274. var info = $(this).attr('data-info');
  275. muiAlert(info, "工具说明");
  276. });
  277. /* 必须加 否则将导致数据表无法滚动 */
  278. mui('.mui-scroll-wrapper').scroll({
  279. scrollY: true, //是否竖向滚动
  280. scrollX: true, //是否横向滚动
  281. startX: 0, //初始化时滚动至x
  282. startY: 0, //初始化时滚动至y
  283. indicators: false, //是否显示滚动条
  284. deceleration: 0.0006, //阻尼系数,系数越小滑动越灵敏
  285. bounce: false, //是否启用回弹
  286. });
  287. /* 隐藏全部内容 */
  288. $(".jt-hide").hide();
  289. /* 获取通过URL地址调用传递的参数 */
  290. var param = GetQueryString('type');
  291. console.log("传递的param", param);
  292. /* 地图图层保存及组合的key */
  293. var layerKey = 'map_layer_normal';
  294. if (param != null) {
  295. layerKey = "map_layer_" + param;
  296. }
  297. /* 隐藏显示结果内容 */
  298. hideNormalResult();
  299. /**
  300. * plus初始化方法
  301. */
  302. plusInit(function() {
  303. /* 地图加载前先获取本地存储的地图配置信息 */
  304. /* 为了存储当前专题地图页面的图层及状态 每一个专题单独本地化保存 */
  305. /* 先判断该专题是否本地化保存了 */
  306. getStorage({
  307. key: layerKey,
  308. success: function(saveLayer) {
  309. /* 说明已经该专题的地图页面已经打开过一次 */
  310. layerConfig = JSON.parse(saveLayer);
  311. /* 存储专题图层初始化的默认配置 */
  312. GetAndSaveSubjectLayerMap(layerConfig);
  313. /* 配置顶部搜索工具 */
  314. MapToolsAndSearchInitByParam();
  315. /* 加载初始化 */
  316. loadInit();
  317. },
  318. error: function(err) {
  319. getSaveUserLayers({
  320. success: function(saveLayer) {
  321. /* 存储专题图层初始化的默认配置 */
  322. GetAndSaveSubjectLayerMap(saveLayer);
  323. /* 专题默认图层配置的检测 */
  324. subjectLayerCheck(saveLayer, param);
  325. /* 配置顶部搜索工具 */
  326. MapToolsAndSearchInitByParam();
  327. },
  328. error: function(err) {
  329. muiAlertError("图层配置信息获取错误,将无法加载地图!");
  330. }
  331. });
  332. }
  333. });
  334. /* 添加水印 */
  335. watermark({
  336. watermarl_element: 'MainMap',
  337. watermark_txt: '金田产业发展(山东)集团有限公司',
  338. })
  339. });
  340. /* 专题图层配置 */
  341. let subjectLayerMap = undefined;
  342. /**
  343. * 获取并存储专题图层配置数据
  344. * @param {JSON} saveLayer 图层数据
  345. */
  346. function GetAndSaveSubjectLayerMap(saveLayer) {
  347. subjectLayerMap = new Map();
  348. for (let subjectLayer of saveLayer[0].subjectList) {
  349. subjectLayerMap.set(subjectLayer.eName, subjectLayer);
  350. }
  351. }
  352. /**
  353. * 根据参数完成地图工具及搜索框的初始化
  354. */
  355. function MapToolsAndSearchInitByParam() {
  356. if (param != null && param == 'zd') {
  357. $(".jt-normal-hide").show();
  358. MapQueryConfigInit();
  359. zf_manyLayerConfigInit(subjectLayerMap.get(param));
  360. } else if (param != null && param == 'zf') {
  361. $(".jt-zf-hide").show();
  362. $(".jt-normal-hide").show();
  363. MapQueryConfigInit();
  364. zf_manyLayerConfigInit(subjectLayerMap.get(param));
  365. } else if (param != null && param == 'ld') {
  366. $(".jt-ld-hide").show();
  367. $(".jt-normal-hide").show();
  368. MapQueryConfigInit();
  369. zf_manyLayerConfigInit(subjectLayerMap.get(param));
  370. } else if (param != null && param == 'gh') {
  371. MapQueryConfigInit();
  372. /* 配置多图层查询 */
  373. zf_manyLayerConfigInit(subjectLayerMap.get(param));
  374. $(".jt-normal-hide").show();
  375. } else if (param != null && param == 'gd') {
  376. $(".jt-normal-hide").show();
  377. MapQueryConfigInit();
  378. zf_manyLayerConfigInit(subjectLayerMap.get(param));
  379. } else if (param != null && param == 'location') {
  380. /* 定位窗口传递 无需查询 */
  381. $('.ui-content-padded').css({
  382. top: '10px'
  383. });
  384. $(".jt-normal-hide").hide();
  385. } else if (param != null && param == 'yj') {
  386. MapQueryConfigInit();
  387. /* 配置多图层查询 */
  388. zf_manyLayerConfigInit(subjectLayerMap.get(param));
  389. $(".jt-normal-hide").show();
  390. $(".jt-yj-hide").show();
  391. } else {
  392. $(".jt-normal-hide").show();
  393. MapQueryConfigInit();
  394. /* 配置多图层查询 */
  395. zf_manyLayerConfigInit(undefined);
  396. }
  397. }
  398. /**
  399. * 根据专题的标识对初始化加载的地图列表进行显示/隐藏处理,并存储处理结果
  400. * @param {JSON} saveLayer 图层数据
  401. * @param {String} subjectEName 专题标识
  402. */
  403. function subjectLayerCheck(saveLayer, subjectEName) {
  404. let subjectMap = subjectLayerMap.get(subjectEName);
  405. if (subjectMap) {
  406. let layerIds = subjectMap.layerIds;
  407. for (let layer of saveLayer[0].layerList) {
  408. if (layerIds.indexOf(layer.layerId) != -1) {
  409. layer.layerIsVisible = "1";
  410. }
  411. }
  412. }
  413. /* 存储处理后的图层数据 */
  414. saveSubjectLayerConfig(saveLayer);
  415. }
  416. /**
  417. *
  418. * @param {JSON} saveLayer 经过专题处理后的图层配置数据
  419. */
  420. function saveSubjectLayerConfig(saveLayer) {
  421. layerConfig = saveLayer;
  422. saveStorage({
  423. key: layerKey,
  424. value: JSON.stringify(layerConfig),
  425. success: function() {
  426. loadInit();
  427. },
  428. error: function() {
  429. muiAlertError("图层配置信息本地化失败,将无法加载地图!");
  430. }
  431. })
  432. }
  433. /* 第一次显示 */
  434. function pageFirstShow() {
  435. // loadInit();
  436. }
  437. /* 页面初始化 */
  438. function loadInit() {
  439. /* 获取存储的用户信息 */
  440. /* 获取本地存储的用户信息 */
  441. getSaveUserInfo({
  442. success: function(user) {
  443. /* 由于定位功能直接打开 导致异常 故此方法也进行处理*/
  444. setTimeout(function() {
  445. MapInit("MainMap", user);
  446. }, 200);
  447. /* 获取当前地图页面的Id */
  448. var webviewId = plus.webview.currentWebview().id;
  449. console.log("id = " + webviewId +
  450. " 的地图页面初始化完成!本页图层key = " + layerKey);
  451. }
  452. });
  453. }
  454. /**
  455. * 定位函数,注意:注意:注意:此方法必须等待地图加载完成后,方可操作
  456. * @param {string} longitude 定位经度
  457. * @param {string} latitude 定位纬度
  458. * @param {string} title 标题
  459. */
  460. function jsLocation(longitude, latitude, title) {
  461. /* 修改标题 */
  462. var wv = plus.webview.currentWebview();
  463. wv.setStyle({
  464. titleNView: {
  465. titleText: title,
  466. }
  467. })
  468. var fLongitude = parseFloat(longitude);
  469. var fLatitude = parseFloat(latitude);
  470. jtMapKit.setCenter([fLongitude, fLatitude]);
  471. jtMapKit.setScale(locationScale);
  472. }
  473. /**
  474. * 定位函数,根据表名和要素Id进行定位
  475. * @param {string} tabName 表名
  476. * @param {string} feaId 要素Id
  477. * @param {string} title 标题
  478. */
  479. function jsLocation_tabName_feaId(tabName, feaId, title) {
  480. /* 修改标题 */
  481. var wv = plus.webview.currentWebview();
  482. wv.setStyle({
  483. titleNView: {
  484. titleText: title,
  485. }
  486. });
  487. location_tabName_feaId(tabName, feaId);
  488. }
  489. /**
  490. * 定位函数,根据表名和要素Id进行定位
  491. * @param {string} tabName 表名
  492. * @param {string} feaId 要素Id
  493. */
  494. function location_tabName_feaId(tabName, feaId) {
  495. if (jtMapKit.isLoad && jtMapKit.isLoad === true) {
  496. location_tabName_feaId_execute(tabName, feaId);
  497. } else {
  498. /* 循环等待定位 */
  499. let interval = setInterval(function() {
  500. if (jtMapKit.isLoad && jtMapKit.isLoad === true) {
  501. window.clearInterval(interval);
  502. location_tabName_feaId_execute(tabName, feaId);
  503. }
  504. }, 500);
  505. }
  506. }
  507. /**
  508. * 执行要素定位
  509. * @param {string} tabName 定位图层名称
  510. * @param {string} feaId 要素Id
  511. */
  512. function location_tabName_feaId_execute(tabName, feaId) {
  513. /* 设置图层显示 */
  514. jtMapKit.setVisibleByName(tabName, true);
  515. /* 存储设置 */
  516. SaveLayerControl(tabName, true);
  517. /* 要素并定位 */
  518. location_tabName_feaId_normal(tabName, feaId);
  519. }
  520. /**
  521. * 普通定位
  522. * @param {Object} tabName 表名
  523. * @param {Object} feaId ObjectId
  524. */
  525. function location_tabName_feaId_normal(tabName, feaId) {
  526. /* 远程查询要素并定位 */
  527. _queryFeatureWktAndLocation(feaId, tabName);
  528. }
  529. /**
  530. * 定位函数,注意:注意:注意:此方法必须等待地图加载完成后,方可操作
  531. * @param {string} longitude 定位经度
  532. * @param {string} latitude 定位纬度
  533. */
  534. function mapLocation(longitude, latitude) {
  535. var fLongitude = parseFloat(longitude);
  536. var fLatitude = parseFloat(latitude);
  537. jtMapKit.setCenter([fLongitude, fLatitude]);
  538. jtMapKit.setScale(locationScale);
  539. }
  540. /**
  541. * 关闭窗口
  542. */
  543. function closeWindow() {
  544. plus.webview.currentWebview().hide('slide-out-right', 300);
  545. }
  546. /* 重写back方法 */
  547. var mui_old_back = mui.back;
  548. mui.back = function() {
  549. closeWindow();
  550. }
  551. </script>