public void mouseWheelMoved(MouseWheelEvent e) {
int zoom_change = e.getWheelRotation();
- map.notice_user_input();
- AltosLatLon mouse_lat_lon = map.transform.screen_lat_lon(new AltosPointInt(e.getPoint().x, e.getPoint().y));
- map.set_zoom(map.get_zoom() - zoom_change);
-
- AltosPointDouble new_mouse = map.transform.screen(mouse_lat_lon);
-
- int dx = getWidth()/2 - e.getPoint().x;
- int dy = getHeight()/2 - e.getPoint().y;
-
- AltosLatLon new_centre = map.transform.screen_lat_lon(new AltosPointInt((int) new_mouse.x + dx, (int) new_mouse.y + dy));
-
- map.centre(new_centre);
+ map.set_zoom_centre(map.get_zoom() - zoom_change, new AltosPointInt(e.getPoint().x, e.getPoint().y));
}
/* ComponentListener methods */
if (t.has_location()) {
String message = null;
switch (status) {
- case AltosUIMapCache.loading:
+ case AltosMapTile.loading:
message = "Loading...";
break;
- case AltosUIMapCache.bad_request:
+ case AltosMapTile.bad_request:
message = "Internal error";
break;
- case AltosUIMapCache.failed:
+ case AltosMapTile.failed:
message = "Network error, check connection";
break;
- case AltosUIMapCache.forbidden:
+ case AltosMapTile.forbidden:
message = "Too many requests, try later";
break;
}
zoom_label.setText(label);
}
+ public void select_object(AltosLatLon latlon) {
+ debug("select at %f,%f\n", latlon.lat, latlon.lon);
+ }
+
+ public void debug(String format, Object ... arguments) {
+ System.out.printf(format, arguments);
+ }
+
+
/* AltosFlightDisplay interface */
public void set_font() {
return "Map";
}
+ /* AltosGraphUI interface */
+ public void centre(AltosState state) {
+ map.centre(state);
+ }
+
/* internal layout bits */
private GridBagLayout layout = new GridBagLayout();
JComboBox<String> maptype_combo;
- public void set_load_params(double lat, double lon, int radius, AltosMapTileListener listener) {
- map.set_load_params(lat, lon, radius, listener);
- }
-
MapView view;
public AltosUIMapNew() {