Skip to content

Commit

Permalink
v.0.9.3
Browse files Browse the repository at this point in the history
  • Loading branch information
Fr0sT-Brutal committed Oct 31, 2022
1 parent 595d49f commit 0d87adf
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
0.9.3
=====

- Tile URL is now defined with OpenLayers-compatible templates with extended features

`Added`

- OSM.TilesProvider.pas, `FormatTileURL` function
* OSM.TilesProvider.*.pas, use new template-base system for retrieval of tile URL
- OpenTopoMap tile provider

0.9.2
=====

Expand Down
13 changes: 10 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
OSM MapControl
==============

Delphi/Lazarus visual component for displaying a map. Could use any map tile provider (currently implemented OpenStreetMap, HERE, Google). Also includes helper classes for storing and downloading map tiles.
Delphi/Lazarus visual component for displaying a map. Could use any map tile provider (currently implemented OpenStreetMap, OpenTopoMap, HERE, Google). Also includes helper classes for storing and downloading map tiles.
Demo project implements downloading map tiles from network.

:exclamation: **Alpha version, interface could change** :exclamation:
Expand All @@ -14,16 +14,23 @@ Tested on:
- Delphi XE2 and 10.1, VCL, Windows
- Lazarus 2.1.0 trunk & FPC 3.3.1 trunk, LCL, Windows / Linux

Tile providers
--------------

Adding a new tile provider is easy, just learn its API and take implemented providers as example. When you're done, create pull request and I'll happily merge it.

For description of tile URL template placeholders refer to OSM.TilesProvider.FormatTileURL function (or [docs](https://fr0st-brutal.github.io/Delphi_OSMMap/docs/OSM.TilesProvider.html#FormatTileURL))

Project structure
-----------------

- `OSM.SlippyMapUtils` - util functions, variables and types
- `OSM.SlippyMapUtils` - utility functions, variables and types
- `OSM.TileStorage` - classes `TTileBitmapCache` implementing cache of map tiles organized as a queue and `TTileStorage` implementing disc storage of map tiles.
- `OSM.NetworkRequest` - utils and classes for network requesting of map tiles. Class `TNetworkRequestQueue` implements threaded non-blocking queue of network requests. Unit doesn't contain any real network request engine.
- `OSM.NetworkRequest.Synapse`, `OSM.NetworkRequest.WinInet`, `OSM.NetworkRequest.RTL` contain concrete implementations of network requesting routines
- `OSM.MapControl` contains classes `TMapMark` and `TMapMarkList` for managing a set of map points and `TMapControl` itself
- `OSM.TilesProvider` - base abstract class of map tile provider.
- `OSM.TilesProvider.OSM`, `OSM.TilesProvider.HERE`, `OSM.TilesProvider.Google` contain concrete implementations of map tile providers
- `OSM.TilesProvider.*` contain concrete implementations of map tile providers

Full docs for all units listed above is available [here](https://fr0st-brutal.github.io/Delphi_OSMMap/)

Expand Down

0 comments on commit 0d87adf

Please sign in to comment.