map.esri.html 21 KB

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