18
18
19
19
createTile : function ( coords ) {
20
20
var tile = L . DomUtil . create ( 'div' , 'leaflet-tile' ) ;
21
+ tile . style [ 'box-shadow' ] = 'inset 0 0 2px #f00' ;
21
22
var url = L . Util . template ( this . url , coords ) ;
22
23
this . ajaxRequest ( 'GET' , url , false , this . updateLayers . bind ( this ) ) ;
23
24
return tile ;
24
25
} ,
25
26
26
- ajaxRequest : function ( method , url , data , callback ) {
27
- var request = new XMLHttpRequest ( ) ;
28
- request . open ( method , url , true ) ;
29
- request . onreadystatechange = function ( ) {
30
- if ( request . readyState === 4 && request . status === 200 ) {
31
- callback ( JSON . parse ( request . responseText ) ) ;
32
- }
33
- } ;
34
- if ( data ) {
35
- request . setRequestHeader ( 'Content-type' , 'application/json' ) ;
36
- request . send ( JSON . stringify ( data ) ) ;
37
- } else {
38
- request . send ( ) ;
39
- }
40
- return request ;
41
- } ,
42
-
43
27
updateLayers : function ( geoData ) {
44
- this . layer . clearLayers ( ) ;
45
- this . layer . addData ( geoData ) ;
28
+ if ( geoData . type == 'FeatureCollection' ) {
29
+ for ( var i = 0 ; i < geoData . features . length ; i ++ ) {
30
+ var id = geoData . features [ i ] . id ;
31
+ if ( ! this . features [ id ] ) {
32
+ this . layer . addData ( geoData . features [ i ] ) ;
33
+ this . features [ id ] = true ;
34
+ }
35
+ }
36
+ }
46
37
} ,
47
38
48
39
onAdd ( map ) {
49
40
L . GridLayer . prototype . onAdd . call ( this , map ) ;
50
41
map . addLayer ( this . layer ) ;
51
42
this . map = map ;
52
- //map.on('moveend zoomend refresh', this.reloadMap, this);
53
- //this.reloadMap();
54
43
} ,
55
44
56
45
onRemove ( map ) {
57
- //map.off('moveend zoomend refresh', this.reloadMap, this);
58
46
this . map = null ;
59
47
map . removeLayer ( this . layer )
60
48
L . GridLayer . prototype . onRemove . call ( this , map ) ;
79
67
80
68
} ) ;
81
69
82
- L . geoJSONTileLayer = function ( options ) {
83
- return new L . GeoJSONTileLayer ( options ) ;
70
+ L . geoJSONTileLayer = function ( url , options ) {
71
+ return new L . GeoJSONTileLayer ( url , options ) ;
84
72
} ;
85
73
86
74
} ) . call ( this ) ;
0 commit comments