return i;
}
}
- return 255;
+ // Handle mpp smaller than 1
+ // return a useful value such that '17 - this number' gives a natural number.
+ // Ideally should return '-1' or '0.5' but that's tricky with an unsigned int type!
+ // (i.e. should rework to support zoom levels of 18 or 19)
+ return 0;
}
static gchar *webtool_center_get_url ( VikWebtool *self, VikWindow *vwindow )
coord = vik_viewport_get_center ( viewport );
vik_coord_to_latlon ( coord, &ll );
- // zoom
- g_assert ( vik_viewport_get_xmpp ( viewport ) == vik_viewport_get_ympp ( viewport ) );
- zoom = vik_webtool_center_mpp_to_zoom ( self, vik_viewport_get_zoom ( viewport ) );
+ // zoom - ideally x & y factors need to be the same otherwise use a default
+ if ( vik_viewport_get_xmpp ( viewport ) == vik_viewport_get_ympp ( viewport ) )
+ zoom = vik_webtool_center_mpp_to_zoom ( self, vik_viewport_get_zoom ( viewport ) );
+ else
+ zoom = 1.0;
// Cannot simply use g_strdup_printf and gdouble due to locale.
// As we compute an URL, we have to think in C locale.