@@ -45,17 +45,6 @@ double OpenStreetMap::lat2tile(double lat, uint8_t zoom)
45
45
return (1.0 - log (tan (latRad) + 1.0 / cos (latRad)) / M_PI) / 2.0 * (1 << zoom);
46
46
}
47
47
48
- OpenStreetMap *OpenStreetMap::currentInstance = nullptr ;
49
-
50
- void OpenStreetMap::PNGDraw (PNGDRAW *pDraw)
51
- {
52
- if (!currentInstance || !currentInstance->currentTileBuffer )
53
- return ;
54
-
55
- uint16_t *destRow = currentInstance->currentTileBuffer + (pDraw->y * OSM_TILESIZE);
56
- currentInstance->png .getLineAsRGB565 (pDraw, destRow, PNG_RGB565_BIG_ENDIAN, 0xffffffff );
57
- }
58
-
59
48
void OpenStreetMap::computeRequiredTiles (double longitude, double latitude, uint8_t zoom, tileList &requiredTiles)
60
49
{
61
50
// Compute exact tile coordinates
@@ -366,6 +355,17 @@ std::optional<std::unique_ptr<MemoryBuffer>> OpenStreetMap::urlToBuffer(const St
366
355
return buffer;
367
356
}
368
357
358
+ OpenStreetMap *OpenStreetMap::currentInstance = nullptr ;
359
+
360
+ void OpenStreetMap::PNGDraw (PNGDRAW *pDraw)
361
+ {
362
+ if (!currentInstance || !currentInstance->currentTileBuffer )
363
+ return ;
364
+
365
+ uint16_t *destRow = currentInstance->currentTileBuffer + (pDraw->y * OSM_TILESIZE);
366
+ currentInstance->png .getLineAsRGB565 (pDraw, destRow, PNG_RGB565_BIG_ENDIAN, 0xffffffff );
367
+ }
368
+
369
369
bool OpenStreetMap::fetchTile (CachedTile &tile, uint32_t x, uint32_t y, uint8_t zoom, String &result)
370
370
{
371
371
const uint32_t worldTileWidth = 1 << zoom;
@@ -383,10 +383,10 @@ bool OpenStreetMap::fetchTile(CachedTile &tile, uint32_t x, uint32_t y, uint8_t
383
383
if (!buffer)
384
384
return false ;
385
385
386
- PNGDecoderRAII png ( PNGDraw);
387
- if (!png. open (buffer. value ()-> get (), buffer. value ()-> size ()) )
386
+ const int16_t rc = png. openRAM (buffer. value ()-> get (), buffer. value ()-> size (), PNGDraw);
387
+ if (rc != PNG_SUCCESS )
388
388
{
389
- result = " PNG Decoder Error" ;
389
+ result = " PNG Decoder Error: " + String (rc) ;
390
390
return false ;
391
391
}
392
392
0 commit comments