mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-03-02 21:51:05 +01:00
Compare commits
2 Commits
eee4f31369
...
5525ba6e8c
Author | SHA1 | Date | |
---|---|---|---|
5525ba6e8c | |||
63d3558b14 |
@ -129,15 +129,14 @@ bool MBTilesMap::getBounds()
|
|||||||
|
|
||||||
bool MBTilesMap::getTileSize()
|
bool MBTilesMap::getTileSize()
|
||||||
{
|
{
|
||||||
QString sql("SELECT tile_data FROM tiles LIMIT 1");
|
QString sql("SELECT zoom_level, tile_data FROM tiles LIMIT 1");
|
||||||
QSqlQuery query(sql, _db);
|
QSqlQuery query(sql, _db);
|
||||||
query.first();
|
query.first();
|
||||||
|
|
||||||
QByteArray data = query.value(0).toByteArray();
|
QByteArray z(QByteArray::number(query.value(0).toInt()));
|
||||||
|
QByteArray data = query.value(1).toByteArray();
|
||||||
QBuffer buffer(&data);
|
QBuffer buffer(&data);
|
||||||
/* Explicitly specify the image plugin in case of vector tiles
|
QImageReader reader(&buffer, z);
|
||||||
(QTBUG-119910 workaround) */
|
|
||||||
QImageReader reader(&buffer, _scalable ? QByteArray("mvt") : QByteArray());
|
|
||||||
QSize tileSize(reader.size());
|
QSize tileSize(reader.size());
|
||||||
|
|
||||||
if (!tileSize.isValid() || tileSize.width() != tileSize.height()) {
|
if (!tileSize.isValid() || tileSize.width() != tileSize.height()) {
|
||||||
@ -217,9 +216,9 @@ MBTilesMap::MBTilesMap(const QString &fileName, QObject *parent)
|
|||||||
return;
|
return;
|
||||||
if (!getBounds())
|
if (!getBounds())
|
||||||
return;
|
return;
|
||||||
getTileFormat();
|
|
||||||
if (!getTileSize())
|
if (!getTileSize())
|
||||||
return;
|
return;
|
||||||
|
getTileFormat();
|
||||||
getTilePixelRatio();
|
getTilePixelRatio();
|
||||||
getName();
|
getName();
|
||||||
|
|
||||||
|
@ -21,10 +21,8 @@ public:
|
|||||||
const QPixmap &pixmap() const {return _pixmap;}
|
const QPixmap &pixmap() const {return _pixmap;}
|
||||||
|
|
||||||
void load() {
|
void load() {
|
||||||
QByteArray z(QString::number(_zoom).toLatin1());
|
|
||||||
|
|
||||||
QBuffer buffer(&_data);
|
QBuffer buffer(&_data);
|
||||||
QImageReader reader(&buffer, z);
|
QImageReader reader(&buffer, QByteArray::number(_zoom));
|
||||||
if (_scaledSize)
|
if (_scaledSize)
|
||||||
reader.setScaledSize(QSize(_scaledSize, _scaledSize));
|
reader.setScaledSize(QSize(_scaledSize, _scaledSize));
|
||||||
_pixmap = QPixmap::fromImage(reader.read());
|
_pixmap = QPixmap::fromImage(reader.read());
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
#include "tileloader.h"
|
#include "tileloader.h"
|
||||||
|
|
||||||
#define SUBSTITUTE_CHAR '$'
|
#define SUBSTITUTE_CHAR '$'
|
||||||
|
#define IS_INT(zoom) \
|
||||||
|
((QMetaType::Type)((zoom).type()) == QMetaType::Int)
|
||||||
|
|
||||||
class TileImage
|
class TileImage
|
||||||
{
|
{
|
||||||
@ -18,7 +20,8 @@ public:
|
|||||||
void load()
|
void load()
|
||||||
{
|
{
|
||||||
QImage img;
|
QImage img;
|
||||||
QByteArray z(_tile->zoom().toString().toLatin1());
|
QByteArray z(IS_INT(_tile->zoom())
|
||||||
|
? QByteArray::number(_tile->zoom().toInt()) : QByteArray());
|
||||||
QImageReader reader(_file, z);
|
QImageReader reader(_file, z);
|
||||||
if (_scaledSize)
|
if (_scaledSize)
|
||||||
reader.setScaledSize(QSize(_scaledSize, _scaledSize));
|
reader.setScaledSize(QSize(_scaledSize, _scaledSize));
|
||||||
@ -220,7 +223,7 @@ QUrl TileLoader::tileUrl(const FetchTile &tile) const
|
|||||||
|
|
||||||
QString TileLoader::tileFile(const FetchTile &tile) const
|
QString TileLoader::tileFile(const FetchTile &tile) const
|
||||||
{
|
{
|
||||||
QString zoom(((QMetaType::Type)(tile.zoom().type()) == QMetaType::Int)
|
QString zoom(IS_INT(tile.zoom())
|
||||||
? tile.zoom().toString() : fsSafeStr(tile.zoom().toString()));
|
? tile.zoom().toString() : fsSafeStr(tile.zoom().toString()));
|
||||||
|
|
||||||
return _dir + QLatin1Char('/') + zoom + QLatin1Char('-')
|
return _dir + QLatin1Char('/') + zoom + QLatin1Char('-')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user