aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/views/nodes/MapBox/MapBox.tsx67
-rw-r--r--src/client/views/nodes/MapBox/MapPushpinBox.tsx2
2 files changed, 52 insertions, 17 deletions
diff --git a/src/client/views/nodes/MapBox/MapBox.tsx b/src/client/views/nodes/MapBox/MapBox.tsx
index 8e460c090..02fa31d9e 100644
--- a/src/client/views/nodes/MapBox/MapBox.tsx
+++ b/src/client/views/nodes/MapBox/MapBox.tsx
@@ -140,11 +140,36 @@ export class MapBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProps
zoom:locationObject.zoom,
center: new this.MicrosoftMaps.Location(locationObject.lat, locationObject.lng),
});
- // this._bingMap.current.setZoom(locationObject.zoom);
-
-
}, {fireImmediately: true});
+ // this._disposer.pins = reaction(() => ({pinList:this.dataDoc[this.annotationKey]}),
+ // (pinsObject) => {
+ // this._bingMap.current.entities.clear();
+ // pinsObject.pinList.map((pushpin: Doc) => (
+ // <DocumentView
+ // {...this.props}
+ // Document={pushpin}
+ // DataDoc={undefined}
+ // PanelWidth={returnOne}
+ // PanelHeight={returnOne}
+ // NativeWidth={returnOne}
+ // NativeHeight={returnOne}
+ // onClick={()=>new ScriptField(undefined)}
+ // onKey={undefined}
+ // onDoubleClick={undefined}
+ // onBrowseClick={undefined}
+ // docFilters={returnEmptyDoclist}
+ // docRangeFilters={returnEmptyDoclist}
+ // searchFilterDocs={returnEmptyDoclist}
+ // isDocumentActive={returnFalse}
+ // isContentActive={returnFalse}
+ // addDocTab={returnFalse}
+ // ScreenToLocalTransform={()=>new Transform(0,0,0)}
+ // fitContentsToBox={undefined}
+ // focus={returnOne}
+ // />));
+
+ // }, {fireImmediately: false});
}
@@ -615,15 +640,16 @@ export class MapBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProps
};
-
+ incrementer: number = 0;
/*
* Creates Pushpin doc and adds it to the list of annotations
*/
@action
createPushpin = (latitude: number, longitude: number) => {
// Stores the pushpin as a MapMarkerDocument
- const mapMarker = Docs.Create.PushpinDocument(NumCast(latitude), NumCast(longitude), false, [], {});
+ const mapMarker = Docs.Create.PushpinDocument(NumCast(latitude), NumCast(longitude), false, [], {},'pushpinIDamongus'+this.incrementer);
this.addDocument(mapMarker, this.annotationKey);
+ this.incrementer++;
// mapMarker.infoWindowOpen = true;
};
@@ -631,15 +657,20 @@ export class MapBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProps
/*
* Pushpin onclick
*/
- pushpinClicked = (pin:Doc) => {
- pin.infoWindowOpen = !pin.infoWindowOpen;
-
+ @action
+ pushpinClicked = (pinDoc:Doc,pin:any) => {
// TODO:
// if (sidebarannos is not open) open sidebarannos
+ // creates button onclick removes the doc from annotations
// pan to pushpin location
- this.dataDoc.latitude = pin.lat;
- this.dataDoc.longitude = pin.lng;
+ this.dataDoc.latitude = pinDoc.lat;
+ this.dataDoc.longitude = pinDoc.lng;
+ // this.dataDoc[this.annotationKey].pop(pin);
+ this.removePushpin(pinDoc,pin);
+
+
+
// @action
@@ -792,19 +823,22 @@ export class MapBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProps
this._bingMap.current.entities.push(pushPin);
- // For our infowindow
- this.MicrosoftMaps.Events.addHandler(pushPin, 'click', (e: any) => this.pushpinClicked(pin));
+ this.MicrosoftMaps.Events.addHandler(pushPin, 'click', (e: any) => this.pushpinClicked(pin,pushPin));
}
/*
* Input: pin doc
- * Adds MicrosoftMaps Pushpin to the map (render)
+ * Removes MicrosoftMaps Pushpin to the map (render)
*/
@action
- removePushpin = (pin:any)=>{
- // this._bingMap.current.entities.clear();
+ removePushpin = (pinDoc:Doc,pin:any)=>{
// this.allMapPushpins
- this.allMapPushpins.map(pin => this.addPushpin(pin));
+ // this.allMapPushpins.map(pin => this.addPushpin(pin));
+ // this._bingMap.current.entities.clear();
+ this._bingMap.current.entities.remove(pin);
+ this.removeDocument(pinDoc, this.annotationKey);
+
+ // this.dataDoc[this.annotationKey]
}
/**
@@ -889,6 +923,7 @@ export class MapBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProps
<BingMapsReact onMapReady={this.bingMapReady} bingMapsKey={bingApiKey} height="100%" mapOptions={this.bingMapOptions} width="100%" viewOptions={this.bingViewOptions}>
</BingMapsReact>
<div>
+
{this.allMapPushpins
.map(pushpin => (
<DocumentView
diff --git a/src/client/views/nodes/MapBox/MapPushpinBox.tsx b/src/client/views/nodes/MapBox/MapPushpinBox.tsx
index 13fb11054..588bddd1a 100644
--- a/src/client/views/nodes/MapBox/MapPushpinBox.tsx
+++ b/src/client/views/nodes/MapBox/MapPushpinBox.tsx
@@ -21,7 +21,7 @@ export class MapPushpinBox extends ViewBoxBaseComponent<FieldViewProps>() {
this.mapBoxView.addPushpin(this.rootDoc);
}
componentWillUnmount() {
- this.mapBoxView.removePushpin(this.rootDoc);
+ // this.mapBoxView.removePushpin(this.rootDoc);
}