Ability to specify geometryName on ol.format.GeoJSON

This commit is contained in:
Bart van den Eijnden
2014-05-21 16:41:35 +02:00
parent dca88668ab
commit 8eef633abc
3 changed files with 29 additions and 2 deletions

View File

@@ -41,6 +41,14 @@ ol.format.GeoJSON = function(opt_options) {
this.defaultProjection_ = ol.proj.get(options.defaultProjection ?
options.defaultProjection : 'EPSG:4326');
/**
* Name of the geometry attribute for features.
* @type {string|undefined}
* @private
*/
this.geometryName_ = options.geometryName;
};
goog.inherits(ol.format.GeoJSON, ol.format.JSONFeature);
@@ -346,7 +354,11 @@ ol.format.GeoJSON.prototype.readFeatureFromObject = function(object) {
var geoJSONFeature = /** @type {GeoJSONFeature} */ (object);
goog.asserts.assert(geoJSONFeature.type == 'Feature');
var geometry = ol.format.GeoJSON.readGeometry_(geoJSONFeature.geometry);
var feature = new ol.Feature(geometry);
var feature = new ol.Feature();
if (goog.isDef(this.geometryName_)) {
feature.setGeometryName(this.geometryName_);
}
feature.setGeometry(geometry);
if (goog.isDef(geoJSONFeature.id)) {
feature.setId(geoJSONFeature.id);
}