01_measure_distance.html 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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_measureDistance"></title>
  9. <script type="text/javascript" src="../js/include-web.js"></script>
  10. </head>
  11. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
  12. <div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
  13. <script type="text/javascript" src="../../dist/leaflet/include-leaflet.js"></script>
  14. <script type="text/javascript">
  15. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  16. var map, resultLayer, url = host + "/iserver/services/map-world/rest/maps/World";
  17. map = L.map('map', {
  18. preferCanvas: true,
  19. crs: L.CRS.EPSG4326,
  20. center: [34, 108],
  21. maxZoom: 18,
  22. zoom: 3
  23. });
  24. L.supermap.tiledMapLayer(url).addTo(map);
  25. resultLayer = L.featureGroup().addTo(map);
  26. measureDistance();
  27. function measureDistance() {
  28. var polyLine = L.polyline([[25, 102], [40, 116]], {color: "red"});
  29. var marker1 = L.marker([25, 102]), marker2 = L.marker([40, 116]);
  30. resultLayer.addLayer(polyLine);
  31. resultLayer.addLayer(marker1);
  32. resultLayer.addLayer(marker2);
  33. var distanceMeasureParam = new SuperMap.MeasureParameters(polyLine);
  34. L.supermap
  35. .measureService(url)
  36. .measureDistance(distanceMeasureParam, function (serviceResult) {
  37. var content = resources.text_distance+":" + serviceResult.result.distance + resources.msg_m;
  38. marker1.bindPopup(content).openPopup(marker1.getLatLng());
  39. });
  40. }
  41. </script>
  42. </body>
  43. </html>