diff --git a/vtm/src/org/oscim/renderer/MapRenderer.java b/vtm/src/org/oscim/renderer/MapRenderer.java index 85cbce53..1a63b69e 100644 --- a/vtm/src/org/oscim/renderer/MapRenderer.java +++ b/vtm/src/org/oscim/renderer/MapRenderer.java @@ -1,5 +1,6 @@ /* * Copyright 2012, 2013 Hannes Janetzek + * Copyright 2016 Longri * * This file is part of the OpenScienceMap project (http://www.opensciencemap.org). * @@ -61,6 +62,8 @@ public class MapRenderer { private static NativeBufferPool mBufferPool; + private float viewPortScale = 1; + public MapRenderer(Map map) { mMap = map; mViewport = new GLViewport(); @@ -76,6 +79,13 @@ public class MapRenderer { mClearColor = GLUtils.colorToFloat(color); } + /** + * Set the scale value for map viewport. + */ + public void setViewPortScale(float scale) { + this.viewPortScale = scale; + } + public void onDrawFrame() { frametime = System.currentTimeMillis(); rerender = false; @@ -121,6 +131,12 @@ public class MapRenderer { mViewport.proj.multiplyLhs(mViewport.mvp); } + if (this.viewPortScale != 1) { + mViewport.mvp.setScale(this.viewPortScale, this.viewPortScale, 1); + mViewport.viewproj.multiplyLhs(mViewport.mvp); + mViewport.proj.multiplyLhs(mViewport.mvp); + } + /* update layers */ LayerRenderer[] layers = mMap.layers().getLayerRenderer();