https://bugs.kde.org/show_bug.cgi?id=366245
Torsten Rahn <r...@kde.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |r...@kde.org --- Comment #4 from Torsten Rahn <r...@kde.org> --- Yes that is a conceptual problem. Currently we have several mechanisms in place that try to allow for "crisp" rendering across projections. On one hand there is the "discrete" property that can be specified in the maptheme's DGML-file in order to have zooming via the mouse-wheel "locked" to the "best values": <dgml xmlns="http://edu.kde.org/marble/dgml/2.0"> <document> <head> <name>OpenStreetMap</name> <zoom> <discrete> true </discrete> </zoom> </head> In addition to this we have the option to zoom via "+" and "-" which also "locks" to the "best values". The best values get determined via the methods int TextureLayer::preferredRadiusCeil( int radius ) const and int TextureLayer::preferredRadiusFloor( int radius ) const Their implementation returns "best values" which are chosen relative to the tile dimensions (and their inherent projection which is Mercator for many and Equirectangular for others). This means that the most "crisp" rendering can be achieved if the user-selected projection matches the actual tile-projection. For all other projections (like spherical) the rendering will differ a bit (resulting in an "apparent height difference" as you described it). A "better" implementation might apply another projedtion-dependent multiplication factor to the "preferredRadiusFloor/Ceil"-result. However that requires some additional "tinkering". -- You are receiving this mail because: You are watching all bug changes.