Skip to content

Commit 38d8893

Browse files
2 parents e76323b + 05f05dc commit 38d8893

File tree

3 files changed

+39
-18
lines changed

3 files changed

+39
-18
lines changed

dist/iclient9-leaflet.js

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -710,13 +710,17 @@
710710
for (var i = 0; i < numFeatures; ++i) {
711711
var element = obj[i];
712712
if (isGeometry(element)) {
713-
geojson.features[i] = this.extract.geometry.apply(this, [element]);
713+
var feature = {};
714+
feature.geometry = element;
715+
geojson.features[i] = this.extract.feature.apply(this, [feature]);
714716
} else {
715717
geojson.features[i] = this.extract.feature.apply(this, [element]);
716718
}
717719
}
718720
} else if (isGeometry(obj)) {
719-
geojson = this.extract.geometry.apply(this, [obj]);
721+
var feature = {};
722+
feature.geometry = obj;
723+
geojson = this.extract.feature.apply(this, [feature]);
720724
}
721725

722726
function isGeometry(input) {
@@ -776,14 +780,13 @@
776780
* {Object} 一个表示点的对象。
777781
*/
778782
'feature': function (feature) {
779-
var geo = feature.geometry ? this.toGeometry(feature.geometry) : undefined;
780-
var geom = geo ? this.extract.geometry.apply(this, [geo]) : null;
783+
var geom = this.extract.geometry.apply(this, [feature.geometry]);
781784
var json = {
782785
"type": "Feature",
783786
"properties": this.createAttributes(feature),
784787
"geometry": geom
785788
};
786-
if (geo.type === 'TEXT') {
789+
if (feature.geometry && feature.geometry.type === 'TEXT') {
787790
json.properties.texts = feature.geometry.texts;
788791
}
789792
if (feature.fid != null) {
@@ -802,7 +805,11 @@
802805
* Returns:
803806
* {Object} 一个表示几何体的对象。
804807
*/
805-
'geometry': function (geo) {
808+
'geometry': function (geometry) {
809+
if (geometry == null) {
810+
return null;
811+
}
812+
var geo = this.toGeometry(geometry);
806813
var geometryType = geo.type;
807814
var data = this.extract[geometryType.toLowerCase()].apply(this, [geo]);
808815
geometryType = geometryType === 'TEXT' ? 'Point' : geometryType;

dist/iclient9-openlayers.js

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -752,13 +752,17 @@
752752
for (var i = 0; i < numFeatures; ++i) {
753753
var element = obj[i];
754754
if (isGeometry(element)) {
755-
geojson.features[i] = this.extract.geometry.apply(this, [element]);
755+
var feature = {};
756+
feature.geometry = element;
757+
geojson.features[i] = this.extract.feature.apply(this, [feature]);
756758
} else {
757759
geojson.features[i] = this.extract.feature.apply(this, [element]);
758760
}
759761
}
760762
} else if (isGeometry(obj)) {
761-
geojson = this.extract.geometry.apply(this, [obj]);
763+
var feature = {};
764+
feature.geometry = obj;
765+
geojson = this.extract.feature.apply(this, [feature]);
762766
}
763767

764768
function isGeometry(input) {
@@ -818,14 +822,13 @@
818822
* {Object} 一个表示点的对象。
819823
*/
820824
'feature': function (feature) {
821-
var geo = feature.geometry ? this.toGeometry(feature.geometry) : undefined;
822-
var geom = geo ? this.extract.geometry.apply(this, [geo]) : null;
825+
var geom = this.extract.geometry.apply(this, [feature.geometry]);
823826
var json = {
824827
"type": "Feature",
825828
"properties": this.createAttributes(feature),
826829
"geometry": geom
827830
};
828-
if (geo.type === 'TEXT') {
831+
if (feature.geometry && feature.geometry.type === 'TEXT') {
829832
json.properties.texts = feature.geometry.texts;
830833
}
831834
if (feature.fid != null) {
@@ -844,7 +847,11 @@
844847
* Returns:
845848
* {Object} 一个表示几何体的对象。
846849
*/
847-
'geometry': function (geo) {
850+
'geometry': function (geometry) {
851+
if (geometry == null) {
852+
return null;
853+
}
854+
var geo = this.toGeometry(geometry);
848855
var geometryType = geo.type;
849856
var data = this.extract[geometryType.toLowerCase()].apply(this, [geo]);
850857
geometryType = geometryType === 'TEXT' ? 'Point' : geometryType;

src/Core/format/GeoJSON.js

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -422,13 +422,17 @@ SuperMap.Format.GeoJSON = SuperMap.Class(SuperMap.Format.JSON, {
422422
for (var i = 0; i < numFeatures; ++i) {
423423
var element = obj[i];
424424
if (isGeometry(element)) {
425-
geojson.features[i] = this.extract.geometry.apply(this, [element]);
425+
var feature = {};
426+
feature.geometry = element;
427+
geojson.features[i] = this.extract.feature.apply(this, [feature]);
426428
} else {
427429
geojson.features[i] = this.extract.feature.apply(this, [element]);
428430
}
429431
}
430432
} else if (isGeometry(obj)) {
431-
geojson = this.extract.geometry.apply(this, [obj]);
433+
var feature = {};
434+
feature.geometry = obj;
435+
geojson = this.extract.feature.apply(this, [feature]);
432436
}
433437

434438
function isGeometry(input) {
@@ -488,14 +492,13 @@ SuperMap.Format.GeoJSON = SuperMap.Class(SuperMap.Format.JSON, {
488492
* {Object} 一个表示点的对象。
489493
*/
490494
'feature': function (feature) {
491-
var geo = feature.geometry ? this.toGeometry(feature.geometry) : undefined;
492-
var geom = geo ? this.extract.geometry.apply(this, [geo]) : null;
495+
var geom = this.extract.geometry.apply(this, [feature.geometry]);
493496
var json = {
494497
"type": "Feature",
495498
"properties": this.createAttributes(feature),
496499
"geometry": geom
497500
};
498-
if (geo.type === 'TEXT') {
501+
if (feature.geometry && feature.geometry.type === 'TEXT') {
499502
json.properties.texts = feature.geometry.texts;
500503
}
501504
if (feature.fid != null) {
@@ -514,7 +517,11 @@ SuperMap.Format.GeoJSON = SuperMap.Class(SuperMap.Format.JSON, {
514517
* Returns:
515518
* {Object} 一个表示几何体的对象。
516519
*/
517-
'geometry': function (geo) {
520+
'geometry': function (geometry) {
521+
if (geometry == null) {
522+
return null;
523+
}
524+
var geo = this.toGeometry(geometry);
518525
var geometryType = geo.type;
519526
var data = this.extract[geometryType.toLowerCase()].apply(this, [geo]);
520527
geometryType = geometryType === 'TEXT' ? 'Point' : geometryType;

0 commit comments

Comments
 (0)