05_findTSPPathsService.html 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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_findTSPPathsService"></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, findTSPPathsService, findTSPPathsParameter, result,
  17. baseUrl = host + "/iserver/services/map-changchun/rest/maps/长春市区图",
  18. serviceUrl = host + "/iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun";
  19. map = L.map('map', {
  20. crs: L.CRS.NonEarthCRS({
  21. bounds: L.bounds([48.4, -7668.25], [8958.85, -55.58]),
  22. origin: L.point(48.4, -55.58)
  23. }),
  24. center: [-3600, 4700],
  25. maxZoom: 18,
  26. zoom: 2
  27. });
  28. L.supermap.tiledMapLayer(baseUrl, {noWrap: true})
  29. .addTo(map)
  30. .once("load", function () {
  31. findTSPPathsProcess();
  32. });
  33. function findTSPPathsProcess() {
  34. var marker4 = L.marker([-1000, 3000]).addTo(map);
  35. var marker5 = L.marker([-4850, 3760]).addTo(map);
  36. var marker6 = L.marker([-2700, 8000]).addTo(map);
  37. //为配送点添加弹窗
  38. marker4.bindPopup(resources.text_retailStation1);
  39. marker5.bindPopup(resources.text_retailStation2);
  40. marker6.bindPopup(resources.text_retailStation3);
  41. //创建多旅行商分析服务实例
  42. findTSPPathsService = L.supermap.networkAnalystService(serviceUrl);
  43. //创建多旅行商分析参数实例
  44. var resultSetting = new SuperMap.TransportationAnalystResultSetting({
  45. returnEdgeFeatures: true,
  46. returnEdgeGeometry: true,
  47. returnEdgeIDs: true,
  48. returnNodeFeatures: true,
  49. returnNodeGeometry: true,
  50. returnNodeIDs: true,
  51. returnPathGuides: true,
  52. returnRoutes: true
  53. });
  54. var analystParameter = new SuperMap.TransportationAnalystParameter({
  55. resultSetting: resultSetting,
  56. weightFieldName: "length"
  57. });
  58. findTSPPathsParameter = new SuperMap.FindTSPPathsParameters({
  59. //是否指定终止点,
  60. endNodeAssigned: false,
  61. isAnalyzeById: false,
  62. //旅行商分析途经点数组,必设字段
  63. nodes: [L.latLng(-1000, 3000), L.latLng(-4850, 3760), L.latLng(-2700, 8000)],
  64. parameter: analystParameter
  65. });
  66. //进行查找
  67. findTSPPathsService.findTSPPaths(findTSPPathsParameter, function (serviceResult) {
  68. var result = serviceResult.result;
  69. result.tspPathList.map(function (result) {
  70. L.geoJSON(result.route).addTo(map);
  71. });
  72. });
  73. }
  74. </script>
  75. </body>
  76. </html>