From b110314077dd93999f685516cff74ed60970a7f1 Mon Sep 17 00:00:00 2001
From: Emux <devemux86@gmail.com>
Date: Tue, 22 Aug 2017 19:17:57 +0300
Subject: [PATCH] vtm-theme-comparator: use same tile size and synchronize zoom
 level #387

---
 .../org/oscim/theme/comparator/BothMapPositionHandler.java | 7 ++++---
 .../theme/comparator/mapsforge/MapsforgeMapPanel.java      | 4 ++++
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/vtm-theme-comparator/src/org/oscim/theme/comparator/BothMapPositionHandler.java b/vtm-theme-comparator/src/org/oscim/theme/comparator/BothMapPositionHandler.java
index 9042c61c..f9f75af0 100644
--- a/vtm-theme-comparator/src/org/oscim/theme/comparator/BothMapPositionHandler.java
+++ b/vtm-theme-comparator/src/org/oscim/theme/comparator/BothMapPositionHandler.java
@@ -1,5 +1,6 @@
 /*
  * Copyright 2017 Longri
+ * Copyright 2017 devemux86
  *
  * This program is free software: you can redistribute it and/or modify it under the
  * terms of the GNU Lesser General Public License as published by the Free Software
@@ -41,7 +42,7 @@ public class BothMapPositionHandler implements LocationDataListener {
             @Override
             public void run() {
                 mapsforgeMapPanel.setCoordinate(latitude, longitude, zoomLevel);
-                vtmPanel.setCoordinate(latitude, longitude, (byte) (zoomLevel - 1));
+                vtmPanel.setCoordinate(latitude, longitude, zoomLevel);
                 storePositionOnPrefs(latitude, longitude, zoomLevel);
             }
         });
@@ -52,7 +53,7 @@ public class BothMapPositionHandler implements LocationDataListener {
         Gdx.app.postRunnable(new Runnable() {
             @Override
             public void run() {
-                vtmPanel.setCoordinate(mapPosition.latLong.latitude, mapPosition.latLong.longitude, (byte) (mapPosition.zoomLevel - 1));
+                vtmPanel.setCoordinate(mapPosition.latLong.latitude, mapPosition.latLong.longitude, mapPosition.zoomLevel);
                 //TODO wy is zoom level on vtm x-1?
                 storePositionOnPrefs(mapPosition.latLong.latitude, mapPosition.latLong.longitude, mapPosition.zoomLevel);
             }
@@ -60,7 +61,7 @@ public class BothMapPositionHandler implements LocationDataListener {
     }
 
     public void mapPositionChangedFromVtmMap(org.oscim.core.MapPosition mapPosition) {
-        mapsforgeMapPanel.setCoordinate(mapPosition.getLatitude(), mapPosition.getLongitude(), (byte) (mapPosition.zoomLevel + 1));
+        mapsforgeMapPanel.setCoordinate(mapPosition.getLatitude(), mapPosition.getLongitude(), (byte) mapPosition.zoomLevel);
         storePositionOnPrefs(mapPosition.getLatitude(), mapPosition.getLongitude(), (byte) (mapPosition.zoomLevel));
     }
 
diff --git a/vtm-theme-comparator/src/org/oscim/theme/comparator/mapsforge/MapsforgeMapPanel.java b/vtm-theme-comparator/src/org/oscim/theme/comparator/mapsforge/MapsforgeMapPanel.java
index 18bd113e..872d720c 100644
--- a/vtm-theme-comparator/src/org/oscim/theme/comparator/mapsforge/MapsforgeMapPanel.java
+++ b/vtm-theme-comparator/src/org/oscim/theme/comparator/mapsforge/MapsforgeMapPanel.java
@@ -36,6 +36,7 @@ import org.mapsforge.map.reader.MapFile;
 import org.mapsforge.map.rendertheme.ExternalRenderTheme;
 import org.mapsforge.map.rendertheme.InternalRenderTheme;
 import org.mapsforge.map.rendertheme.XmlRenderTheme;
+import org.oscim.core.Tile;
 import org.oscim.theme.comparator.BothMapPositionHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -61,6 +62,9 @@ public class MapsforgeMapPanel extends JPanel {
         this.setLayout(null);
         mapView = createMapView();
 
+        // Use same tile size with VTM
+        mapView.getModel().displayModel.setFixedTileSize(Tile.SIZE);
+
         PreferencesFacade preferencesFacade = new JavaPreferences(Preferences.userNodeForPackage(MapView.class));
         final Model model = mapView.getModel();
         model.init(preferencesFacade);