@@ -1208,15 +1208,18 @@ PluggableMap.prototype.renderFrame_ = function(time) {
|
||||
layerStates[getUid(layerStatesArray[i].layer)] = layerStatesArray[i];
|
||||
}
|
||||
viewState = view.getState();
|
||||
const center = viewState.center;
|
||||
const pixelResolution = viewState.resolution / this.pixelRatio_;
|
||||
center[0] = Math.round(center[0] / pixelResolution) * pixelResolution;
|
||||
center[1] = Math.round(center[1] / pixelResolution) * pixelResolution;
|
||||
let focus = this.focus_;
|
||||
if (!focus) {
|
||||
focus = viewState.center;
|
||||
const pixelResolution = viewState.resolution / this.pixelRatio_;
|
||||
focus[0] = Math.round(focus[0] / pixelResolution) * pixelResolution;
|
||||
focus[1] = Math.round(focus[1] / pixelResolution) * pixelResolution;
|
||||
}
|
||||
frameState = /** @type {olx.FrameState} */ ({
|
||||
animate: false,
|
||||
coordinateToPixelTransform: this.coordinateToPixelTransform_,
|
||||
extent: extent,
|
||||
focus: !this.focus_ ? center : this.focus_,
|
||||
focus: focus,
|
||||
index: this.frameIndex_++,
|
||||
layerStates: layerStates,
|
||||
layerStatesArray: layerStatesArray,
|
||||
|
||||
@@ -77,11 +77,10 @@ function handleDragEvent(mapBrowserEvent) {
|
||||
const deltaY = centroid[1] - this.lastCentroid[1];
|
||||
const map = mapBrowserEvent.map;
|
||||
const view = map.getView();
|
||||
const viewState = view.getState();
|
||||
let center = [deltaX, deltaY];
|
||||
scaleCoordinate(center, viewState.resolution);
|
||||
rotateCoordinate(center, viewState.rotation);
|
||||
addCoordinate(center, viewState.center);
|
||||
scaleCoordinate(center, view.getResolution());
|
||||
rotateCoordinate(center, view.getRotation());
|
||||
addCoordinate(center, view.getCenter());
|
||||
center = view.constrainCenter(center);
|
||||
view.setCenter(center);
|
||||
}
|
||||
|
||||
@@ -73,15 +73,15 @@ const RenderFeature = function(type, flatCoordinates, ends, properties, id) {
|
||||
*/
|
||||
this.properties_ = properties;
|
||||
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @type {ol.Transform}
|
||||
*/
|
||||
this.tmpTransform_ = createTransform();
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @type {ol.Transform}
|
||||
*/
|
||||
const tmpTransform = createTransform();
|
||||
|
||||
|
||||
/**
|
||||
* Get a feature property by its key.
|
||||
* @param {string} key Key
|
||||
@@ -267,12 +267,11 @@ RenderFeature.prototype.transform = function(source, destination) {
|
||||
const pixelExtent = source.getExtent();
|
||||
const projectedExtent = source.getWorldExtent();
|
||||
const scale = getHeight(projectedExtent) / getHeight(pixelExtent);
|
||||
const transform = this.tmpTransform_;
|
||||
composeTransform(transform,
|
||||
composeTransform(tmpTransform,
|
||||
projectedExtent[0], projectedExtent[3],
|
||||
scale, -scale, 0,
|
||||
0, 0);
|
||||
transform2D(this.flatCoordinates_, 0, this.flatCoordinates_.length, 2,
|
||||
transform, this.flatCoordinates_);
|
||||
tmpTransform, this.flatCoordinates_);
|
||||
};
|
||||
export default RenderFeature;
|
||||
|
||||
Reference in New Issue
Block a user