@@ -26,46 +26,94 @@ <h4 class="modal-title">提示</h4>
2626< script  type ="text/javascript " src ="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.js "> </ script > 
2727< script  type ="text/javascript " src ="../../dist/iclient9-leaflet.js "> </ script > 
2828< script  type ="text/javascript "> 
29-  var  layer ,  processingJobsUrl  =  "http://113.209.64.227:8090/iserver/services/processing/rest/v1/jobs" , 
29+  var  layer ,  baseLayer ,   processingJobsUrl  =  "http://113.209.64.227:8090/iserver/services/processing/rest/v1/jobs" , 
3030 token  =  'GSHB7qlocJkqEH0Ld6VUSGQfekOdPd3e9UdJoHjiupfbkGDggXQLSPWd6VaKm8NH4gvXx6UQ0TCI5wpfr-4Tlw..' , 
31+  worldMapUrl  =  'http://113.209.64.227:8090/iserver/services/map-World/rest/maps/世界地图_Day' , 
3132 map  =  L . map ( 'map' ,  { 
32-  crs : L . supermap . NonEarthCRS ( { 
33-  bounds : L . bounds ( [ 40.65 ,  - 74.05 ] ,  [ 40.85 ,  - 73.85 ] ) , 
34-  origin : L . point ( 40.65 ,  - 73.85 ) 
35-  } ) , 
33+  crs : L . CRS . EPSG4326 , 
3634 center : [ 40.75 ,  - 73.95 ] , 
3735 maxZoom : 18 , 
38-  zoom : 1 
36+  zoom : 12 
3937 } ) , 
40-  buildCacheJobParameter  =  new  SuperMap . BuildCacheJobParameter ( { 
41-  datasetName : 'test_newyork_taxi_2013_01_14k' , 
42-  cacheName : 'cache' , 
43-  cacheType : 'MongoDB' , 
44-  serverAdresses : [ '113.209.64.227:27010' ] , 
45-  database : 'smtiles' , 
46-  version : 'v1' , 
47-  bounds : L . latLngBounds ( L . latLng ( 40.550 ,  - 74.150 ) ,  L . latLng ( 40.950 ,  - 73.750 ) ) , 
48-  imageType : 'Heatmap' , 
49-  level : 5 
50-  } ) , 
51-  processingJobsService  =  new  L . supermap . processingJobsService ( processingJobsUrl ) , 
5238 info  =  L . control ( { position : 'topright' } ) ; 
5339
5440 info . onAdd  =  function  ( )  { 
55-  var  btn  =  L . DomUtil . create ( 'button' ,  'btn btn-primary' ) ; 
56-  btn . id  =  'btn' ; 
57-  btn . innerHTML  =  '创建生成地图缓存作业' ; 
58-  return  btn ; 
41+  var  popup  =  L . DomUtil . create ( 'div' ) ; 
42+  popup . style  =  'width:20%' ; 
43+  popup . innerHTML  =  "<div class='panel panel-default'>"  + 
44+  "<div class='panel-heading'>"  + 
45+  "<h3 class='panel-title'>地图缓存作业</h3>"  + 
46+  "</div>"  + 
47+  "<div class='panel-body'>"  + 
48+  "<div class='input-group'>"  + 
49+  "<span class='input-group-addon'>输入数据</span>"  + 
50+  "<input id='datasetName' type='text' class='form-control' placeholder='test_newyork_taxi_2013_01_14k'/>"  + 
51+  "</div><p>"  + 
52+  "<div class='input-group'>"  + 
53+  "<span class='input-group-addon'>缓存类型</span>"  + 
54+  "<input id='imageType' type='text' class='form-control' placeholder='Heatmap'/>"  + 
55+  "</div><p>"  + 
56+  "<div class='input-group'>"  + 
57+  "<span class='input-group-addon'>缓存范围</span>"  + 
58+  "<input id='bounds' type='text' class='form-control' placeholder='-74.050, 40.650, -73.850, 40.850'/>"  + 
59+  "</div><p>"  + 
60+  "<div class='input-group'>"  + 
61+  "<span class='input-group-addon'>缓存比例尺级别</span>"  + 
62+  "<input id='level' type='text' class='form-control' placeholder='5'/>"  + 
63+  "</div><p>"  + 
64+  "<div class='input-group'>"  + 
65+  "<span class='input-group-addon'>缓存名称</span>"  + 
66+  "<input id='cacheName' type='text' class='form-control' placeholder='cache'/>"  + 
67+  "</div><p>"  + 
68+  "<div class='input-group'>"  + 
69+  "<span class='input-group-addon'>存储类型</span>"  + 
70+  "<input id='cacheType' type='text' class='form-control' placeholder='MongoDB'/>"  + 
71+  "</div><p>"  + 
72+  "<div class='input-group'>"  + 
73+  "<span class='input-group-addon'>服务地址</span>"  + 
74+  "<input id='serverAdresses' type='text' class='form-control' placeholder='113.209.64.227:27010'/>"  + 
75+  "</div><p>"  + 
76+  "<div class='input-group'>"  + 
77+  "<span class='input-group-addon'>数据库</span>"  + 
78+  "<input id='database' type='text' class='form-control' placeholder='smtiles'/>"  + 
79+  "</div><p>"  + 
80+  "<div class='input-group'>"  + 
81+  "<span class='input-group-addon'>版本</span>"  + 
82+  "<input id='version' type='text' class='form-control' placeholder='v1'/>"  + 
83+  "</div><p>"  + 
84+  "<div align='right'>"  + 
85+  "<input type='button' id='btn' class='btn btn-primary' value='创建'/>"  + 
86+  "</div></div></div>" ; 
87+  return  popup ; 
5988 } ; 
6089 info . addTo ( map ) ; 
6190
91+  var  bounds  =  [ ] ,  serverAddress  =  [ ] ; 
92+  ( $ ( '#bounds' ) . val ( )  ||  $ ( '#bounds' ) . attr ( 'placeholder' ) ) . split ( ',' ) . map ( function  ( el )  { 
93+  return  bounds . push ( parseFloat ( el ) ) ; 
94+  } ) ; 
95+  serverAddress . push ( ( $ ( '#serverAdresses' ) . val ( )  ||  $ ( '#serverAdresses' ) . attr ( 'placeholder' ) ) . toString ( ) ) ; 
96+  var  buildCacheJobParameter  =  new  SuperMap . BuildCacheJobParameter ( { 
97+  datasetName : $ ( '#datasetName' ) . val ( )  ||  $ ( '#datasetName' ) . attr ( 'placeholder' ) , 
98+  cacheName : $ ( '#cacheName' ) . val ( )  ||  $ ( '#cacheName' ) . attr ( 'placeholder' ) , 
99+  cacheType : $ ( '#cacheType' ) . val ( )  ||  $ ( '#cacheType' ) . attr ( 'placeholder' ) , 
100+  serverAdresses : serverAddress , 
101+  database : $ ( '#database' ) . val ( )  ||  $ ( '#database' ) . attr ( 'placeholder' ) , 
102+  version : $ ( '#version' ) . val ( )  ||  $ ( '#version' ) . attr ( 'placeholder' ) , 
103+  bounds : bounds , 
104+  imageType : $ ( '#imageType' ) . val ( )  ||  $ ( '#imageType' ) . attr ( 'placeholder' ) , 
105+  level : parseInt ( $ ( '#level' ) . val ( )  ||  $ ( '#level' ) . attr ( 'placeholder' ) ) 
106+  } ) ; 
107+  processingJobsService  =  new  L . supermap . processingJobsService ( processingJobsUrl ) ; 
108+ 
62109 SuperMap . Credential . CREDENTIAL  =  new  SuperMap . Credential ( token ,  'token' ) ; 
63110
64111 $ ( '#btn' ) . on ( 'click' ,  function  ( )  { 
65112 $ ( '#btn' ) . prop ( 'disabled' ,  true ) ; 
66113 $ ( "#model" ) . modal ( { show : true ,  backdrop : 'static' ,  keyboard : false } ) ; 
67-  if  ( map  &&  layer )  { 
114+  if  ( map  &&  layer   &&   baseLayer )  { 
68115 map . removeLayer ( layer ) ; 
116+  map . removeLayer ( baseLayer ) ; 
69117 } 
70118 processingJobsService . addBuildCacheJob ( buildCacheJobParameter ,  function  ( serviceResult )  { 
71119 if  ( serviceResult . error )  { 
@@ -76,10 +124,17 @@ <h4 class="modal-title">提示</h4>
76124 } 
77125 serviceResult . result . setting . serviceInfo . targetServiceInfos . map ( function  ( info )  { 
78126 if  ( info . serviceType  ===  'RESTMAP' )  { 
79-  var  mapUrl  =  info . serviceAddress  +  '/maps/cache' ; 
80-  L . supermap . tiledMapLayer ( mapUrl ,  { noWrap : true } ) . addTo ( map ) ; 
81-  $ ( "#model" ) . modal ( 'hide' ) ; 
82-  $ ( '#btn' ) . prop ( 'disabled' ,  false ) ; 
127+  SuperMap . Request . get ( info . serviceAddress  +  '/maps' ) . then ( function  ( response )  { 
128+  return  response . json ( ) ; 
129+  } ) . then ( function  ( result )  { 
130+  var  mapUrl  =  result [ 0 ] . path ; 
131+  baseLayer  =  L . supermap . tiledMapLayer ( worldMapUrl ,  { noWrap : true } ) ; 
132+  layer  =  L . supermap . tiledMapLayer ( mapUrl ,  { noWrap : true ,  transparent : true } ) ; 
133+  baseLayer . addTo ( map ) ; 
134+  layer . addTo ( map ) ; 
135+  $ ( "#model" ) . modal ( 'hide' ) ; 
136+  $ ( '#btn' ) . prop ( 'disabled' ,  false ) ; 
137+  } ) ; 
83138 } 
84139 } ) ; 
85140 } ) ; 
0 commit comments