MCPcopy Create free account
hub / github.com/SuperMap/iClient-JavaScript / toiClientFeature

Method toiClientFeature

src/openlayers/overlay/HeatMap.js:423–448  ·  view source on GitHub ↗

* @function HeatMap.prototype.toiClientFeature * @description 转为 iClient 要素。 * @param {GeoJSONObject|Array. } features - 待添加的要素数组。 * @returns {FeatureVector} 转换后的 iClient 要素。

(features)

Source from the content-addressed store, hash-verified

421 * @returns {FeatureVector} 转换后的 iClient 要素。
422 */
423 toiClientFeature(features) {
424 if (!Util.isArray(features)) {
425 features = [features];
426 }
427 let featuresTemp = [], geometry, attributes;
428 for (let i = 0, len = features.length; i < len; i++) {
429 if (features[i] instanceof Feature) {
430 //热点图支支持传入点对象要素
431 if (features[i].getGeometry() instanceof Point) {
432 geometry = new GeometryPoint(features[i].getGeometry().getCoordinates()[0], features[i].getGeometry().getCoordinates()[1]);
433 //固定属性字段为 "Properties"
434 attributes = features[i].getProperties()["Properties"] ? features[i].getProperties()["Properties"] : {};
435 featuresTemp.push(new FeatureVector(geometry, attributes));
436 }
437 } else if (["FeatureCollection", "Feature", "Geometry"].indexOf(features[i].type) != -1) {
438 let format = new GeoJSONFormat();
439 featuresTemp = featuresTemp.concat(format.read(features[i]));
440 } else if (features[i].geometry && features[i].geometry.parts) {
441 //iServer服务器返回数据格式
442 featuresTemp.push(ServerFeature.fromJson(features[i]).toFeature());
443 } else {
444 throw new Error(`Features[${i}]'s type does not match, please check.`);
445 }
446 }
447 return featuresTemp;
448 }
449
450}

Callers 11

addFeaturesMethod · 0.95
HeatMapSpec.jsFile · 0.45
ThemeSpec.jsFile · 0.45
HeatMapLayer.jsFile · 0.45
GraphThemeLayer.jsFile · 0.45
ThemeLayer.jsFile · 0.45
addFeaturesMethod · 0.45

Calls 6

getGeometryMethod · 0.80
pushMethod · 0.80
indexOfMethod · 0.80
readMethod · 0.45
toFeatureMethod · 0.45
fromJsonMethod · 0.45

Tested by

no test coverage detected