Fix issue where panning the bing streetside photo viewer wouldn't update the bubble cone in the map

This commit is contained in:
Quincy Morgan
2020-07-07 13:52:55 -04:00
parent dff6ee01dc
commit 09a20bc809
2 changed files with 22 additions and 22 deletions
+20 -20
View File
@@ -469,26 +469,6 @@ export default {
options.scenes[sceneID] = _sceneOptions;
_pannellumViewer = window.pannellum.viewer('ideditor-viewer-streetside', options);
var pointerPrefix = 'PointerEvent' in window ? 'pointer' : 'mouse';
_pannellumViewer
.on(pointerPrefix + 'down', () => {
d3_select(window)
.on(pointerPrefix + 'move.pannellum', () => { dispatch.call('viewerChanged'); });
})
.on(pointerPrefix + 'up', () => {
d3_select(window)
.on(pointerPrefix + 'move.pannellum', null);
// continue dispatching events for a few seconds, in case viewer has inertia.
let t = d3_timer(elapsed => {
dispatch.call('viewerChanged');
if (elapsed > 2000) {
t.stop();
}
});
});
},
@@ -498,6 +478,8 @@ export default {
loadViewer: function(context) {
let that = this;
let pointerPrefix = 'PointerEvent' in window ? 'pointer' : 'mouse';
// create ms-wrapper, a photo wrapper class
let wrap = context.container().select('.photoviewer').selectAll('.ms-wrapper')
.data([0]);
@@ -513,6 +495,24 @@ export default {
wrapEnter
.append('div')
.attr('id', 'ideditor-viewer-streetside')
.on(pointerPrefix + 'down.streetside', () => {
d3_select(window)
.on(pointerPrefix + 'move.streetside', () => {
dispatch.call('viewerChanged');
}, true);
})
.on(pointerPrefix + 'up.streetside pointercancel.streetside', () => {
d3_select(window)
.on(pointerPrefix + 'move.streetside', null);
// continue dispatching events for a few seconds, in case viewer has inertia.
let t = d3_timer(elapsed => {
dispatch.call('viewerChanged');
if (elapsed > 2000) {
t.stop();
}
});
})
.append('div')
.attr('class', 'photo-attribution fillD');
+2 -2
View File
@@ -30,8 +30,8 @@ export function svgStreetside(projection, context, dispatch) {
if (services.streetside && !_streetside) {
_streetside = services.streetside;
_streetside.event
.on('viewerChanged', viewerChanged)
.on('loadedBubbles', throttledRedraw);
.on('viewerChanged.svgStreetside', viewerChanged)
.on('loadedBubbles.svgStreetside', throttledRedraw);
} else if (!services.streetside && _streetside) {
_streetside = null;
}