77 |
if(but == OSD_GPS) { |
if(but == OSD_GPS) { |
78 |
pos_t *refpos = get_pos(context->appdata); |
pos_t *refpos = get_pos(context->appdata); |
79 |
if(refpos && !isnan(refpos->lat) && !isnan(refpos->lon)) { |
if(refpos && !isnan(refpos->lat) && !isnan(refpos->lon)) { |
80 |
osm_gps_map_set_mapcenter(OSM_GPS_MAP(context->widget), |
gint zoom; |
81 |
refpos->lat, refpos->lon, GPS_DEFAULT_ZOOM); |
g_object_get(OSM_GPS_MAP(context->widget), "zoom", &zoom, NULL); |
82 |
|
if(zoom < 10) |
83 |
|
osm_gps_map_set_mapcenter(OSM_GPS_MAP(context->widget), |
84 |
|
refpos->lat, refpos->lon, GPS_DEFAULT_ZOOM); |
85 |
|
else |
86 |
|
osm_gps_map_set_center(OSM_GPS_MAP(context->widget), |
87 |
|
refpos->lat, refpos->lon); |
88 |
|
|
89 |
/* re-enable centering */ |
/* re-enable centering */ |
90 |
g_object_set(context->widget, "auto-center", TRUE, NULL); |
g_object_set(context->widget, "auto-center", TRUE, NULL); |
91 |
} else { |
} else { |