diff --git a/CHANGELOG b/CHANGELOG
index f748c00..2716f35 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -10,3 +10,4 @@
1.3.0
- New GIS Cloud layer (gvector.GISCloud)
- DRYing up the code. Moved _processFeatures from individual layers into Layer.js
+- Creating two super-layers from which all other layers extend from: GeoJSONLayer and EsriJSONLayer
diff --git a/build/Makefile b/build/Makefile
index ec45bac..a13a66a 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -4,6 +4,8 @@
--js ../src/core/Util.js \
--js ../src/core/Class.js \
--js ../src/layer/Layer.js \
+ --js ../src/layer/GeoJSONLayer.js \
+ --js ../src/layer/EsriJSONLayer.js \
--js ../src/layer/AGS.js \
--js ../src/layer/A2E.js \
--js ../src/layer/GeoIQ.js \
diff --git a/build/build.bat b/build/build.bat
index f36599b..7a2346b 100644
--- a/build/build.bat
+++ b/build/build.bat
@@ -4,10 +4,12 @@ java -jar ../lib/closure-compiler/compiler.jar ^
--js ../src/core/Util.js ^
--js ../src/core/Class.js ^
--js ../src/layer/Layer.js ^
---js ../src/layer/AGS.js ^
+--js ../src/layer/GeoJSONLayer.js ^
+--js ../src/layer/EsriJSONLayer.js ^
+--js ../src/layer/AGS.js ^
--js ../src/layer/A2E.js ^
---js ../src/layer/GeoIQ.js ^
---js ../src/layer/CartoDB.js ^
---js ../src/layer/PRWSF.js ^
+--js ../src/layer/GeoIQ.js ^
+--js ../src/layer/CartoDB.js ^
+--js ../src/layer/PRWSF.js ^
--js ../src/layer/GISCloud.js ^
--js_output_file ../dist/gvector.js
\ No newline at end of file
diff --git a/build/build.html b/build/build.html
index 26d41f8..773dc09 100644
--- a/build/build.html
+++ b/build/build.html
@@ -173,7 +173,7 @@
Google Vector Layers Build Helper
label.appendChild(check);
check.onchange = onCheckboxChange;
- if (name == 'Core') {
+ if (name == 'Core' || name == 'Layer') {
check.checked = true;
check.disabled = true;
}
diff --git a/build/deps.js b/build/deps.js
index 8a3d448..6623472 100644
--- a/build/deps.js
+++ b/build/deps.js
@@ -11,46 +11,60 @@ var deps = {
desc: 'The base class for all layers',
heading: 'Layers Core'
},
+
+ GeoJSONLayer: {
+ src: ['layer/GeoJSONLayer.js'],
+ desc: 'The GeoJSON geometry parsing layer type',
+ heading: 'Layers that extend this can parse GeoJSON geometry',
+ deps: ['Layer']
+ },
+
+ EsriJSONLayer: {
+ src: ['layer/EsriJSONLayer.js'],
+ desc: 'The EsriJSON geometry parsing layer type',
+ heading: 'Layers that extend this can parse EsriJSON geometry',
+ deps: ['Layer']
+ },
AGS: {
src: ['layer/AGS.js'],
desc: 'The ArcGIS Server layer.',
heading: 'ArcGIS Server',
- deps: ['Layer']
+ deps: ['EsriJSONLayer']
},
A2E: {
src: ['layer/A2E.js'],
desc: 'The Arc2Earth layer.',
heading: 'Arc2Earth',
- deps: ['Layer', 'AGS']
+ deps: ['AGS']
},
GeoIQ: {
src: ['layer/GeoIQ.js'],
desc: 'The GeoIQ layer.',
heading: 'GeoIQ',
- deps: ['Layer']
+ deps: ['GeoJSONLayer']
},
CartoDB: {
src: ['layer/CartoDB.js'],
desc: 'The CartoDB layer.',
heading: 'CartoDB',
- deps: ['Layer']
+ deps: ['GeoJSONLayer']
},
PRWSF: {
src: ['layer/PRWSF.js'],
desc: 'The PostGIS RESTful Web Service Framework layer.',
heading: 'PostGIS RESTful Web Service Framework',
- deps: ['Layer']
+ deps: ['GeoJSONLayer']
},
GISCloud: {
src: ['layer/GISCloud.js'],
desc: 'The GIS Cloud Layer',
heading: 'GIS Cloud',
- deps: ['Layer']
+ deps: ['GeoJSONLayer']
}
};
\ No newline at end of file
diff --git a/debug/gvector-include.js b/debug/gvector-include.js
index 22300e0..88cd91d 100644
--- a/debug/gvector-include.js
+++ b/debug/gvector-include.js
@@ -10,6 +10,8 @@
'core/Class.js',
'layer/Layer.js',
+ 'layer/GeoJSONLayer.js',
+ 'layer/EsriJSONLayer.js',
'layer/AGS.js',
'layer/A2E.js',
diff --git a/demos/arc2earth/index.html b/demos/arc2earth/index.html
index fc73105..eccf3ad 100644
--- a/demos/arc2earth/index.html
+++ b/demos/arc2earth/index.html
@@ -142,7 +142,7 @@ Arc2Earth Sync
-
+
-
+
-
+
-
+
-
+
-
+