Trying different ways to select and potentially update OL features

This commit is contained in:
vdv committed 2022-11-29 14:59:57 +01:00
1 parent 400711eb80
commit ab1d644e8e
3 files changed
+55 -9

No files matched your search

+12 -1
View File
@@ -6,6 +6,9 @@ import dispatch from '../../workers/dispatcher-main';
import getUri from '../../lib/ids';
import VectorSource from 'ol/source/Vector';
import GeoJSON from 'ol/format/GeoJSON';
import { setBranch, tree } from '../map';
import { unwrap } from 'solid-js/store';
import { Feature } from 'ol';
interface Props {
trksegId: string;
@@ -27,7 +30,7 @@ export const Trkseg: Component<Props> = ({ vectorSource, trksegId }) => {
createEffect(() => {
console.log({ caller: 'Trkseg', vectorSource, trksegId, trkseg: trkseg() });
if (trkseg()) {
if (trkseg() && !tree[trksegId]) {
let geo: any = {
type: 'FeatureCollection',
features: [
@@ -67,9 +70,17 @@ export const Trkseg: Component<Props> = ({ vectorSource, trksegId }) => {
const features = new GeoJSON().readFeatures(geo);
console.log({ caller: 'Trkseg', features });
vectorSource.addFeatures(features);
setBranch(trksegId, { features, updateHandler });
}
});
const updateHandler = (feature: Feature) => {
console.log({
caller: 'Trkseg / updateHandler / clicked',
feature,
});
};
return <></>;
};