1+ import { AddressMatchService } from '../../../src/openlayers/services/AddressMatchService' ;
2+ import { GeoCodingParameter } from '../../../src/common/iServer/GeoCodingParameter' ;
3+ import { GeoDecodingParameter } from '../../../src/common/iServer/GeoDecodingParameter' ;
4+
5+ var addressMatchURL = GlobeParameter . addressMatchURL ;
6+ describe ( 'openlayers_AddressMatchService' , ( ) => {
7+ var originaTimeout ;
8+ beforeEach ( ( ) => {
9+ originaTimeout = jasmine . DEFAULT_TIMEOUT_INTERVAL ;
10+ jasmine . DEFAULT_TIMEOUT_INTERVAL = 50000 ;
11+ } ) ;
12+ afterEach ( ( ) => {
13+ jasmine . DEFAULT_TIMEOUT_INTERVAL = originaTimeout ;
14+ } ) ;
15+ it ( 'constructor' , ( ) => {
16+ var addressMatchService = new AddressMatchService ( addressMatchURL ) ;
17+ expect ( addressMatchService ) . not . toBeNull ( ) ;
18+ expect ( addressMatchService . url ) . toEqual ( addressMatchURL ) ;
19+ expect ( addressMatchService . url ) . not . toBeNull ( ) ;
20+ } ) ;
21+
22+ it ( 'code' , ( done ) => {
23+ var codingFailedEventArgs = null , codingSuccessEventArgs = null ;
24+ var codeCompleted = ( analyseEventArgs ) => {
25+ codingSuccessEventArgs = analyseEventArgs ;
26+ } ;
27+ var codeFailed = ( serviceFailedEventArgs ) => {
28+ codingFailedEventArgs = serviceFailedEventArgs ;
29+ } ;
30+ var options = {
31+ eventListeners : { "processCompleted" : codeCompleted , "processFailed" : codeFailed }
32+ } ;
33+ var GeoCodingParams = new GeoCodingParameter ( {
34+ address : '公司' ,
35+ fromIndex : 0 ,
36+ toIndex : 10 ,
37+ filters : '北京市,海淀区' ,
38+ prjCoordSys : '{epsgcode:4326}' ,
39+ maxReturn : - 1
40+ } ) ;
41+ var addressCodeService = new AddressMatchService ( addressMatchURL , options ) ;
42+ addressCodeService . code ( GeoCodingParams , codeCompleted ) ;
43+ setTimeout ( ( ) => {
44+ try {
45+ expect ( addressCodeService ) . not . toBeNull ( ) ;
46+ expect ( codingSuccessEventArgs ) . not . toBeNull ( ) ;
47+ expect ( codingSuccessEventArgs . type ) . toBe ( 'processCompleted' ) ;
48+ expect ( codingSuccessEventArgs . result ) . not . toBeNull ( ) ;
49+ expect ( codingSuccessEventArgs . result . length ) . toBe ( 10 ) ;
50+ GeoCodingParams . destroy ( ) ;
51+ codingSuccessEventArgs = null ;
52+ codingFailedEventArgs = null ;
53+ done ( ) ;
54+ } catch ( exception ) {
55+ console . log ( "'code'案例失败:" + exception . name + ":" + exception . message ) ;
56+ GeoCodingParams . destroy ( ) ;
57+ codingFailedEventArgs = null ;
58+ codingSuccessEventArgs = null ;
59+ expect ( false ) . toBeTruthy ( ) ;
60+ done ( ) ;
61+ }
62+ } , 5000 ) ;
63+ } ) ;
64+
65+ it ( 'decode' , ( done ) => {
66+ var decodingFailedEventArgs = null , decodingSuccessEventArgs = null ;
67+ var decodeFailed = ( serviceFailedEventArgs ) => {
68+ decodingFailedEventArgs = serviceFailedEventArgs ;
69+ } ;
70+ var decodeCompleted = ( analyseEventArgs ) => {
71+ decodingSuccessEventArgs = analyseEventArgs ;
72+ } ;
73+ var GeoDeCodingParams = new GeoDecodingParameter ( {
74+ x : 116.31740122415627 ,
75+ y : 39.92311315752059 ,
76+ fromIndex : 0 ,
77+ toIndex : 5 ,
78+ filters : '北京市,海淀区' ,
79+ prjCoordSys : '{epsgcode:4326}' ,
80+ maxReturn : - 1 ,
81+ geoDecodingRadius : 500
82+ } ) ;
83+ var addressDeCodeService = new AddressMatchService ( addressMatchURL ) ;
84+ addressDeCodeService . decode ( GeoDeCodingParams , decodeCompleted ) ;
85+ setTimeout ( ( ) => {
86+ try {
87+ expect ( addressDeCodeService ) . not . toBeNull ( ) ;
88+ expect ( decodingSuccessEventArgs ) . not . toBeNull ( ) ;
89+ expect ( decodingSuccessEventArgs . type ) . toBe ( 'processCompleted' ) ;
90+ expect ( decodingSuccessEventArgs . result ) . not . toBeNull ( ) ;
91+ expect ( decodingSuccessEventArgs . result . length ) . toEqual ( 5 ) ;
92+ GeoDeCodingParams . destroy ( ) ;
93+ decodingFailedEventArgs = null ;
94+ decodingSuccessEventArgs = null ;
95+ done ( ) ;
96+ } catch ( exception ) {
97+ console . log ( "'decode'案例失败:" + exception . name + ":" + exception . message ) ;
98+ GeoDeCodingParams . destroy ( ) ;
99+ decodingFailedEventArgs = null ;
100+ decodingSuccessEventArgs = null ;
101+ expect ( false ) . toBeTruthy ( ) ;
102+ done ( ) ;
103+ }
104+ } , 5000 ) ;
105+ } ) ;
106+ } ) ;
0 commit comments