public class Map { private MapLongitude mapLongitude; private Longitude longitude; private MapLatitude mapLatitude; private Latitude latitude; private Presenter presenter; public Map() { this.mapLongitude = new MapLongitude(); this.longitude = new Longitude(mapLongitude); this.mapLatitude = new MapLatitude(); this.latitude = new Latitude(mapLatitude); this.presenter = new Presenter(mapLongitude, mapLatitude); // Presenterを初期化 } public double getMapLongitude() { return mapLongitude.getValue(); } public double getLongitude() { return longitude.getValue(); } public void updateGPS(double lat2, double long2) { this.longitude.updateGPS(lat2, long2); this.latitude.updateGPS(lat2, long2); this.presenter.updateGPS(lat2, long2); } public double getMapLatitude() { return mapLatitude.getValue(); } public double getLatitude() { return latitude.getValue(); } // 自動更新のON/OFFを切り替えるメソッド public void setAutoUpdateEnabled(boolean enabled) { presenter.setAutoUpdateEnabled(enabled); } // 手動更新のためのメソッド public void manualUpdate(double lat, double lon) { presenter.manualUpdate(lat, lon); } }