others_featureRightClick.html 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. <!--********************************************************************
  2. * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
  3. *********************************************************************-->
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="utf-8">
  8. <title data-i18n="resources.title_featureRightClick"></title>
  9. <style type="text/css">
  10. .editPane {
  11. position: absolute;
  12. right: 50px;
  13. top: 50px;
  14. text-align: center;
  15. background: #FFF;
  16. z-index: 1000;
  17. }
  18. #myMenu {
  19. position: absolute;
  20. background-color: silver;
  21. visibility: hidden;
  22. }
  23. ul {
  24. list-style-type: none;
  25. width: 112px;
  26. }
  27. #myMenu ul {
  28. float: left;
  29. border: 1px solid #979797;
  30. background: #f1f1f1 url(./images/line.png) 36px 0 repeat-y;
  31. padding: 2px;
  32. box-shadow: 2px 2px 2px rgba(0, 0, 0, .6);
  33. }
  34. #myMenu ul li {
  35. width: 112px;
  36. float: left;
  37. clear: both;
  38. height: 35px;
  39. cursor: pointer;
  40. line-height: 32px;
  41. }
  42. #myMenu ul li:hover {
  43. background-color: #CAE1FF;
  44. }
  45. </style>
  46. </head>
  47. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0; ">
  48. <div class='panel panel-primary editPane' id='editPane' style="z-index: 99999">
  49. <div class='panel-heading'>
  50. <h5 class='panel-title text-center' data-i18n="resources.text_featureRightClick"></h5>
  51. </div>
  52. <div class='panel-body' id='params'>
  53. <p></p>
  54. <div align='center' class='button-group'>
  55. <input type='button' id='btn1' class='btn btn-primary' data-i18n="[value]resources.text_input_value_addData"
  56. onclick="addData()"/>
  57. </div>
  58. </div>
  59. </div>
  60. <div id="map" style="margin:0 auto;width: 100%;height: 100%; position: relative;"></div>
  61. <div id="myMenu">
  62. <ul style="margin-top: 0px; margin-bottom: 0px;margin-left: 0px">
  63. <li onclick="setCenter()">
  64. <div style="float:left;padding-right: 5px;width:30px;height:30px"><img src="./images/center.png"/></div>
  65. <div data-i18n="resources.text_mediacy"
  66. style="float:left;width:52px;height:30px; text-align: center; font-size: 15px;">
  67. </div>
  68. </li>
  69. <li onclick="deleteSelect()">
  70. <div style="float:left;padding-right: 5px;width:30px;height:30px"><img src="./images/delete.png"/></div>
  71. <div data-i18n="resources.text_input_value_delete"
  72. style="float:left;width:52px;height:30px; text-align: center; font-size: 15px;">
  73. </div>
  74. </li>
  75. </li>
  76. </ul>
  77. </div>
  78. <script type="text/javascript" include="bootstrap,widgets.alert" src="../js/include-web.js"></script>
  79. <script type="text/javascript" exclude="iclient-classic" src="../../dist/classic/include-classic.js"></script>
  80. <script type="text/javascript">
  81. var map, layer, vectorLayer, gFeature, pointVector,
  82. host = window.isLocal ? window.server : "https://iserver.supermap.io",
  83. url = host + "/iserver/services/map-world/rest/maps/World";
  84. function init() {
  85. var broz = SuperMap.Util.getBrowser();
  86. if (broz.device === 'android' || broz.device === 'apple') {
  87. widgets.alert.showAlert(resopurces.msg_supportEquipment, false);
  88. return;
  89. }
  90. map = new SuperMap.Map("map", {
  91. eventListeners: {
  92. "movestart": function () {
  93. menu.style.visibility = "hidden";
  94. },
  95. "click": function () {
  96. menu.style.visibility = "hidden";
  97. }
  98. }
  99. });
  100. layer = new SuperMap.Layer.TiledDynamicRESTLayer("world", url, {
  101. transparent: true,
  102. cacheEnabled: true
  103. }, {maxResolution: "auto"});
  104. layer.events.on({"layerInitialized": addLayer});
  105. vectorLayer = new SuperMap.Layer.Vector("vectorlayer");
  106. var callbacks = {
  107. rightclick: creatMenu
  108. };
  109. var selectFeature = new SuperMap.Control.SelectFeature(vectorLayer,
  110. {
  111. callbacks: callbacks
  112. });
  113. map.addControl(selectFeature);
  114. selectFeature.activate();
  115. }
  116. $(document).ready(function () {
  117. init();
  118. });
  119. function addLayer() {
  120. map.addLayers([layer, vectorLayer]);
  121. map.setCenter(new SuperMap.LonLat(0, 0), 0);
  122. }
  123. //创建EventUtil对象
  124. var EventUtil = {
  125. addHandler: function (element, type, handler) {
  126. if (element.addEventListener) {
  127. element.addEventListener(type, handler, false);
  128. }
  129. else if (element.attachEvent) {
  130. element.attachEvent("on" + type, handler);
  131. }
  132. },
  133. getEvent: function (event) {
  134. return event ? event : window.event;
  135. },
  136. //取消事件的默认行为
  137. preventDefault: function (event) {
  138. if (event.preventDefault) {
  139. event.preventDefault();
  140. } else {
  141. event.returnValue = false;
  142. }
  143. }
  144. };
  145. EventUtil.addHandler(window, "load", function (event) {
  146. menu = document.getElementById("myMenu");
  147. EventUtil.addHandler(myMenu, "contextmenu", function (event) {
  148. event = EventUtil.getEvent(event);
  149. EventUtil.preventDefault(event);
  150. menu.style.visibility = "visible";
  151. });
  152. EventUtil.addHandler(document, "click", function (event) {
  153. menu.style.visibility = "hidden";
  154. });
  155. });
  156. function creatMenu(currentFeature) {
  157. var centerPoint = currentFeature.geometry.getCentroid();
  158. var pos = new SuperMap.LonLat(centerPoint.x, centerPoint.y);
  159. var p = map.getPixelFromLonLat(pos);
  160. menu.style.left = p.x + "px";
  161. menu.style.top = p.y + 50 + "px";
  162. menu.style.visibility = "visible";
  163. gFeature = currentFeature;
  164. }
  165. function addData() {
  166. vectorLayer.removeFeatures(pointVector);
  167. //点
  168. var point = new SuperMap.Geometry.Point(0, 0);
  169. pointVector = new SuperMap.Feature.Vector(point);
  170. pointVector.style = {
  171. fillColor: "red",
  172. strokeColor: "yellow",
  173. pointRadius: 10
  174. };
  175. vectorLayer.addFeatures([pointVector]);
  176. widgets.alert.showAlert(resources.msg_rightClick, true);
  177. }
  178. function setCenter() {
  179. var centerP = gFeature.geometry.getCentroid();
  180. menu.style.visibility = "hidden";
  181. map.setCenter(new SuperMap.LonLat(centerP.x, centerP.y), 0);
  182. }
  183. function deleteSelect() {
  184. menu.style.visibility = "hidden";
  185. vectorLayer.removeFeatures(gFeature);
  186. widgets.alert.clearAlert();
  187. }
  188. </script>
  189. </body>
  190. </html>