--- trunk/src/map-tool.c 2009/08/25 12:49:03 77 +++ trunk/src/map-tool.c 2009/08/25 13:21:45 81 @@ -77,8 +77,15 @@ if(but == OSD_GPS) { pos_t *refpos = get_pos(context->appdata); if(refpos && !isnan(refpos->lat) && !isnan(refpos->lon)) { - osm_gps_map_set_mapcenter(OSM_GPS_MAP(context->widget), - refpos->lat, refpos->lon, GPS_DEFAULT_ZOOM); + gint zoom; + g_object_get(OSM_GPS_MAP(context->widget), "zoom", &zoom, NULL); + if(zoom < 10) + osm_gps_map_set_mapcenter(OSM_GPS_MAP(context->widget), + refpos->lat, refpos->lon, GPS_DEFAULT_ZOOM); + else + osm_gps_map_set_center(OSM_GPS_MAP(context->widget), + refpos->lat, refpos->lon); + /* re-enable centering */ g_object_set(context->widget, "auto-center", TRUE, NULL); } else {