map.esri.html 21 KB

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