public class Presenter { private Longitude longitude; private Latitude latitude; private MapLongitude mapLongitude; private MapLatitude mapLatitude; private boolean isAutoUpdate; // isAutoUpdate フィールドの追加 // public Presenter(Longitude longitude, Latitude latitude, MapLongitude mapLongitude, MapLatitude mapLatitude) { // this.longitude = longitude; // this.latitude = latitude; // this.mapLongitude = mapLongitude; // this.mapLatitude = mapLatitude; // } // public void updateGPS(double lat2, double long2) { // double longitude = this.longitude.updateGPS(lat2, long2); // double latitude = this.latitude.updateGPS(lat2, long2); // this.mapLongitude.updateLongitude(longitude); // this.mapLatitude.updateLatitude(latitude); // } // コンストラクタ public Presenter(Longitude longitude, Latitude latitude, MapLongitude mapLongitude, MapLatitude mapLatitude) { this.longitude = longitude; this.latitude = latitude; this.mapLongitude = mapLongitude; this.mapLatitude = mapLatitude; this.isAutoUpdate = true; // 初期値を true に設定 } // updateGPS メソッドの変更 public void updateGPS(double lat2, double long2) { double longitude = this.longitude.updateGPS(lat2, long2); double latitude = this.latitude.updateGPS(lat2, long2); if (isAutoUpdate) { this.mapLongitude.updateLongitude(longitude); this.mapLatitude.updateLatitude(latitude); } } // setAutoUpdate メソッドの追加 public void setAutoUpdate(boolean isAutoUpdate) { this.isAutoUpdate = isAutoUpdate; } // updateManually メソッドの追加 public void updateManually() { this.mapLongitude.updateLongitude(this.longitude.getValue()); this.mapLatitude.updateLatitude(this.latitude.getValue()); } }