onlineSecurity.html 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  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_onlineSecurity"></title>
  9. <script type="text/javascript" src="../../dist/ol/include-ol.js"></script>
  10. <style>
  11. .panel {
  12. margin-bottom: 0;
  13. }
  14. </style>
  15. </head>
  16. <body style=" margin: 0;overflow: auto;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
  17. <div class="container">
  18. <div class="page-header">
  19. <h4 data-i18n="resources.title_onlineSecurity"></h4>
  20. </div>
  21. <div class="row">
  22. <table class="table table-bordered col-md-8">
  23. <thead>
  24. <tr>
  25. <th class="text-center" data-i18n="resources.text_function"></th>
  26. <th class="text-center" data-i18n="resources.text_instance"></th>
  27. </tr>
  28. </thead>
  29. <tbody>
  30. <tr>
  31. <td class="text-center text-success" data-i18n="resources.text_login"></td>
  32. <td>
  33. <div class="col-md-12 text-center">
  34. <a class="btn btn-success" onclick="loginOnline()" data-i18n="resources.text_login"></a>
  35. </div>
  36. </td>
  37. </tr>
  38. <!-- 注册key -->
  39. <tr>
  40. <td class="text-center text-success" data-i18n="resources.text_keyAuthorizedService"></td>
  41. <td>
  42. <div class="col-md-12">
  43. <div class="panel panel-default">
  44. <div class="panel-body">
  45. <form class="form-horizontal">
  46. <fieldset>
  47. <div class="form-group">
  48. <label for="serviceUrl_online" class="col-md-2 control-label"
  49. data-i18n="resources.text_serviceAddress"></label>
  50. <div class="col-md-8">
  51. <input type="text" class="form-control" id="serviceUrl_online">
  52. </div>
  53. </div>
  54. <div class="form-group">
  55. <label for="key_online" class="col-md-2 control-label">key</label>
  56. <div class="col-md-8">
  57. <input type="text" class="form-control" id="key_online">
  58. </div>
  59. </div>
  60. <div class="col-md-12 text-center">
  61. <a class="btn btn-success" onclick="registerOnlineKeyAndRequestService()"
  62. data-i18n="resources.text_accessing"></a>
  63. </div>
  64. </fieldset>
  65. </form>
  66. </div>
  67. </div>
  68. </div>
  69. </td>
  70. </tr>
  71. <!-- 出图 -->
  72. <tr>
  73. <td class="text-center text-success" data-i18n="resources.text_keyAuthorizedGetMap"></td>
  74. <td>
  75. <div class="col-md-12">
  76. <div class="panel panel-default">
  77. <div class="panel-body">
  78. <form class="form-horizontal">
  79. <fieldset>
  80. <div class="form-group">
  81. <label for="serviceUrlMap_online" class="col-md-2 control-label"
  82. data-i18n="resources.text_serviceAddress"></label>
  83. <div class="col-md-8">
  84. <input type="text" class="form-control" id="serviceUrlMap_online">
  85. </div>
  86. </div>
  87. <div class="form-group">
  88. <label for="mapKey_online" class="col-md-2 control-label">key</label>
  89. <div class="col-md-8">
  90. <input type="text" class="form-control" id="mapKey_online">
  91. </div>
  92. </div>
  93. <div class="form-group">
  94. <div class="col-md-12 text-center">
  95. <a class="btn btn-success" onclick="showMapWithOnlineKey()"
  96. data-i18n="resources.text_getMap"></a>
  97. </div>
  98. </div>
  99. </fieldset>
  100. </form>
  101. </div>
  102. </div>
  103. </div>
  104. </td>
  105. </tr>
  106. <tr>
  107. <td colspan="3">
  108. <div class="row">
  109. <div class="col-md-12 text-center">
  110. <div class="col-md-12" id="online_map" style=" height: 300px;"></div>
  111. </div>
  112. </div>
  113. </td>
  114. </tr>
  115. </tbody>
  116. </table>
  117. </div>
  118. </div>
  119. <script type="text/javascript" include="bootstrap,jquery,widgets.alert" src="../js/include-web.js"></script>
  120. <script>
  121. //若示例与SuperMap Online不在同一域下,欲查看示例效果请打开该句注释
  122. //SuperMap.Support.cors = false;
  123. $(document).ready(function () {
  124. $("#serviceUrl_online").val("http://www.supermapol.com/iserver/services/bsaq89v0/rest/maps/World");
  125. $('#key_online').val("Ie2kriXZZz9GPevFDBQzgLRf");
  126. $("#serviceUrlMap_online").val("http://www.supermapol.com/iserver/services/bsaq89v0/rest/maps/World");
  127. $('#mapKey_online').val("Ie2kriXZZz9GPevFDBQzgLRf");
  128. });
  129. /*登录*/
  130. function loginOnline() {
  131. var href = window.location.href;
  132. SuperMap.SecurityManager.loginOnline(href, true);
  133. }
  134. /*登录 end*/
  135. /*注册key*/
  136. function requestOnlineKeyService() {
  137. var serviceUrl = getOnlineServiceUrl();
  138. if (!checkUrl(serviceUrl)) {
  139. return;
  140. }
  141. new ol.supermap.MapService(serviceUrl, {
  142. serverType: SuperMap.ServerType.ONLINE
  143. }).getMapInfo(function (json) {
  144. if (json.error) {
  145. widgets.alert.showAlert(JSON.stringify(json.error), false);
  146. } else {
  147. widgets.alert.showAlert(JSON.stringify(json.result), true);
  148. }
  149. });
  150. }
  151. function registerOnlineKeyAndRequestService() {
  152. var key = $('#key_online').val();
  153. var serviceUrl = getOnlineServiceUrl();
  154. if (!checkUrl(serviceUrl)) {
  155. return;
  156. }
  157. SuperMap.SecurityManager.destroyKey(serviceUrl);
  158. SuperMap.SecurityManager.registerKey(serviceUrl, key);
  159. requestOnlineKeyService();
  160. }
  161. function getOnlineServiceUrl() {
  162. return $("#serviceUrl_online").val();
  163. }
  164. /*注册key end*/
  165. /*出图*/
  166. function showMapWithOnlineKey() {
  167. var key = $('#mapKey_online').val();
  168. var mapUrl = $('#serviceUrlMap_online').val();
  169. if (!checkUrl(mapUrl)) {
  170. return;
  171. }
  172. SuperMap.SecurityManager.registerKey(mapUrl, key);
  173. var map = new ol.Map({
  174. target: 'online_map',
  175. controls: ol.control.defaults({attributionOptions: {collapsed: false}})
  176. .extend([new ol.supermap.control.Logo()]),
  177. view: new ol.View({
  178. center: [0, 0],
  179. maxZoom: 18,
  180. zoom: 2,
  181. projection: 'EPSG:4326'
  182. }),
  183. });
  184. var layer = new ol.layer.Tile({
  185. source: new ol.source.TileSuperMapRest({
  186. serverType: SuperMap.ServerType.ONLINE,
  187. url: mapUrl
  188. }),
  189. projection: 'EPSG:4326'
  190. });
  191. map.addLayer(layer);
  192. }
  193. /*出图 end*/
  194. function checkUrl(url) {
  195. if (url === "") {
  196. widgets.alert.showAlert(resources.msg_fillInURL, false);
  197. return false;
  198. }
  199. return true;
  200. }
  201. </script>
  202. </body>
  203. </html>