Trying different ways to select and potentially update OL features
This commit is contained in:
1 parent
400711eb80
commit
ab1d644e8e
3 files changed
+55
-9
No files matched your search
@@ -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 <></>;
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user