@@ -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