оль-цезий: есть ли способ выбрать элемент ес-цезия и отследить его до функций открытых слоев? - PullRequest
0 голосов
/ 31 октября 2018

У меня есть геойсон, который был добавлен в качестве векторного элемента в openlayer. Все геоджоны в разделе их свойств имеют некоторую дополнительную информацию, которую я хочу отобразить при нажатии на объект (например, всплывающее окно) в трехмерном пространстве. Я использовал пример наложения оль-цезия, чтобы создать поп, но нет способа получить свойства feature-geojson только с включенным 3d (ol-caesium). Есть ли какой-либо подход к получению сведений о функции при нажатии на элемент в трехмерном пространстве?

1 Ответ

0 голосов
/ 08 ноября 2018

понял это, думаю, мне нужно было подумать вот так.

private getOlFeatureFromMouseLocationInOLCS(cesiumMouseEvent: any): OlFeature | undefined {

if (cesiumMouseEvent.position.x === 0 && cesiumMouseEvent.position.y === 0) {
    return;
}
 /**
 //hoping the below two lines have bee defined early on . 
 this._ol3d = new OLCesium({ map: this._currentMap });
 this.scene = this._ol3d.getCesiumScene();
 **/
 const pickedFeature = this.scene.pick(cesiumMouseEvent.position);
 let olFeature: OlFeature;
 if (pickedFeature.primitive) {
    olFeature = (pickedFeature.primitive.olFeature)?pickedFeature.primitive.olFeature as OlFeature : undefined;
} else {
    olFeature = undefined;
}
 return olFeature;
}
...