Fixed overlay example to work with restructured GeoLayers.

This commit is contained in:
Severin Opel 2019-11-05 11:23:18 +01:00
parent 87727d28b9
commit 0a30712e31
7 changed files with 17 additions and 22 deletions

18
dist/iwmlib.pixi.js vendored
View File

@ -17809,7 +17809,6 @@
* @param {ScatterEvent}[e] - Contains informations on how the element was transformed. * @param {ScatterEvent}[e] - Contains informations on how the element was transformed.
*/ */
transformed(e) { transformed(e) {
console.log(this.name);
this.onTransform.call(this, e); this.onTransform.call(this, e);
} }
@ -18023,7 +18022,6 @@
y: frame.height / 2 y: frame.height / 2
}; };
console.log(frame);
frame.center = { frame.center = {
x: frame.x + frame.localCenter.x, x: frame.x + frame.localCenter.x,
y: frame.y + frame.localCenter.y y: frame.y + frame.localCenter.y
@ -18574,7 +18572,6 @@
get zoomFactor() { get zoomFactor() {
let factor = this.baseZoomHeight / this.sprite.texture.height; let factor = this.baseZoomHeight / this.sprite.texture.height;
console.log(factor);
return factor return factor
} }
} }
@ -18611,7 +18608,6 @@
} }
transformed(map) { transformed(map) {
console.log('MAPVIEW RECEIVED TRANSFORM');
this.updateZoom(map); this.updateZoom(map);
this.updateFocusPoint(map); this.updateFocusPoint(map);
} }
@ -18634,7 +18630,6 @@
if (map instanceof DeepZoomMap) this._zoom = map.floatingLevelForScale(map.image.scatter.scale); if (map instanceof DeepZoomMap) this._zoom = map.floatingLevelForScale(map.image.scatter.scale);
else { else {
this._zoom = map.zoom; this._zoom = map.zoom;
console.warn('Zoom is not yet correctly implemented in this Map type: ' + map);
} }
} }
@ -19681,6 +19676,10 @@
} }
} }
addChild(element) {
this.displayObject.addChild(element);
}
/** /**
* Adapts to a map. If the maplayer should adapt to the parent maplayer, * Adapts to a map. If the maplayer should adapt to the parent maplayer,
* no parameter must be specified. * no parameter must be specified.
@ -19888,8 +19887,10 @@
this.adapt(); this.adapt();
this.changeHandler.call(this, map, oldMap); this.changeHandler.call(this, map, oldMap);
this.map.onTransform.add(this.transformed.bind(this));
//Call transform one time manually.
this.transformed();
this.map.onTransform.add(this.transformed.bind(this));
} else { } else {
console.error("Could not set map, it's not of type GeoMap.", map); console.error("Could not set map, it's not of type GeoMap.", map);
} }
@ -20757,7 +20758,6 @@
} }
this.mapList = new MapList(opts.startmap ? opts.startmap : null, opts.maps ? opts.maps : {}); this.mapList = new MapList(opts.startmap ? opts.startmap : null, opts.maps ? opts.maps : {});
console.log(this.mapList);
this._setupKeyboardUtils(); this._setupKeyboardUtils();
} }
@ -20910,7 +20910,6 @@
// } // }
// }) // })
console.log(this.map);
this.map.onTransform.add(this.transformed.bind(this)); this.map.onTransform.add(this.transformed.bind(this));
this.transformed(); this.transformed();
@ -20920,7 +20919,6 @@
const parent = this.ui.parent; const parent = this.ui.parent;
parent.removeChild(this.ui); parent.removeChild(this.ui);
parent.addChild(this.ui); parent.addChild(this.ui);
console.log('BRING TO FRONT!');
} }
} }
@ -21755,7 +21753,7 @@
adjustItems = null adjustItems = null
} = {}) { } = {}) {
const name = this.name[0].toUpperCase() + this.name.slice(1).toLowerCase() + ' Overlay'; const name = this.name[0].toUpperCase() + this.name.slice(1).toLowerCase() + ' Overlay';
let geoLayer = new GeoLayer({ name }); let geoLayer = new GeoLayer(new PIXI.Container(), { name });
if (this.rescale) geoLayer.rescale = this.rescale; if (this.rescale) geoLayer.rescale = this.rescale;
this.items.forEach(item => { this.items.forEach(item => {
if (!excludeItems(item)) { if (!excludeItems(item)) {

View File

@ -41,6 +41,10 @@ export class GeoLayer {
} }
} }
addChild(element) {
this.displayObject.addChild(element)
}
/** /**
* Adapts to a map. If the maplayer should adapt to the parent maplayer, * Adapts to a map. If the maplayer should adapt to the parent maplayer,
* no parameter must be specified. * no parameter must be specified.
@ -248,8 +252,10 @@ export class MapLayer extends GeoLayer {
this.adapt() this.adapt()
this.changeHandler.call(this, map, oldMap) this.changeHandler.call(this, map, oldMap)
this.map.onTransform.add(this.transformed.bind(this))
//Call transform one time manually.
this.transformed()
this.map.onTransform.add(this.transformed.bind(this))
} else { } else {
console.error("Could not set map, it's not of type GeoMap.", map) console.error("Could not set map, it's not of type GeoMap.", map)
} }

View File

@ -148,7 +148,6 @@ export class GeoMap {
* @param {ScatterEvent}[e] - Contains informations on how the element was transformed. * @param {ScatterEvent}[e] - Contains informations on how the element was transformed.
*/ */
transformed(e) { transformed(e) {
console.log(this.name)
this.onTransform.call(this, e) this.onTransform.call(this, e)
} }
@ -362,7 +361,6 @@ export class GeoMap {
y: frame.height / 2 y: frame.height / 2
} }
console.log(frame)
frame.center = { frame.center = {
x: frame.x + frame.localCenter.x, x: frame.x + frame.localCenter.x,
y: frame.y + frame.localCenter.y y: frame.y + frame.localCenter.y
@ -913,7 +911,6 @@ export class ImageMap extends GeoMap {
get zoomFactor() { get zoomFactor() {
let factor = this.baseZoomHeight / this.sprite.texture.height let factor = this.baseZoomHeight / this.sprite.texture.height
console.log(factor)
return factor return factor
} }
} }

View File

@ -85,7 +85,6 @@ export default class MapApp extends PIXIApp {
} }
this.mapList = new MapList(opts.startmap ? opts.startmap : null, opts.maps ? opts.maps : {}) this.mapList = new MapList(opts.startmap ? opts.startmap : null, opts.maps ? opts.maps : {})
console.log(this.mapList)
this._setupKeyboardUtils() this._setupKeyboardUtils()
} }
@ -238,7 +237,6 @@ export default class MapApp extends PIXIApp {
// } // }
// }) // })
console.log(this.map)
this.map.onTransform.add(this.transformed.bind(this)) this.map.onTransform.add(this.transformed.bind(this))
this.transformed() this.transformed()
@ -248,7 +246,6 @@ export default class MapApp extends PIXIApp {
const parent = this.ui.parent const parent = this.ui.parent
parent.removeChild(this.ui) parent.removeChild(this.ui)
parent.addChild(this.ui) parent.addChild(this.ui)
console.log('BRING TO FRONT!')
} }
} }

View File

@ -32,7 +32,6 @@ export default class MapView {
} }
transformed(map) { transformed(map) {
console.log('MAPVIEW RECEIVED TRANSFORM')
this.updateZoom(map) this.updateZoom(map)
this.updateFocusPoint(map) this.updateFocusPoint(map)
} }
@ -55,7 +54,6 @@ export default class MapView {
if (map instanceof DeepZoomMap) this._zoom = map.floatingLevelForScale(map.image.scatter.scale) if (map instanceof DeepZoomMap) this._zoom = map.floatingLevelForScale(map.image.scatter.scale)
else { else {
this._zoom = map.zoom this._zoom = map.zoom
console.warn('Zoom is not yet correctly implemented in this Map type: ' + map)
} }
} }

View File

@ -202,7 +202,6 @@
new PIXI.Sprite(textures.get(osmworld)), new PIXI.Sprite(textures.get(osmworld)),
worlOSMData, worlOSMData,
{ {
cover: false,
onLoaded: () => { onLoaded: () => {
worldOSMMap.setFrame(frame) worldOSMMap.setFrame(frame)
} }
@ -237,7 +236,7 @@
// When placed on the mapLayer, the PIXI Graphic elements, that // When placed on the mapLayer, the PIXI Graphic elements, that
// reside inside GeoGraphic Objects are placed automatically at the // reside inside GeoGraphic Objects are placed automatically at the
// correct coordinates of the map. // correct coordinates of the map.
pointApp.mapLayer.place(exampleOverlayGeoLayer) pointApp.mapLayer.addLayer(exampleOverlayGeoLayer)
// Just a helper function that clears the popups and removes // Just a helper function that clears the popups and removes

View File

@ -186,7 +186,7 @@ export default class Overlay {
adjustItems = null adjustItems = null
} = {}) { } = {}) {
const name = this.name[0].toUpperCase() + this.name.slice(1).toLowerCase() + ' Overlay' const name = this.name[0].toUpperCase() + this.name.slice(1).toLowerCase() + ' Overlay'
let geoLayer = new GeoLayer({ name }) let geoLayer = new GeoLayer(new PIXI.Container(), { name })
if (this.rescale) geoLayer.rescale = this.rescale if (this.rescale) geoLayer.rescale = this.rescale
this.items.forEach(item => { this.items.forEach(item => {
if (!excludeItems(item)) { if (!excludeItems(item)) {