mirror of
https://github.com/flopp/go-staticmaps.git
synced 2025-12-08 18:26:36 +00:00
Add new map provider OpenSeaMap & overlay example (#114)
* Add new map provider OpenSeaMap & overlay example * better comment --------- Co-authored-by: Florian Pigorsch <fpigorsch@gmail.com>
This commit is contained in:
parent
10e305d31e
commit
8da1c6fb74
31
examples/overlay/main.go
Normal file
31
examples/overlay/main.go
Normal file
@ -0,0 +1,31 @@
|
||||
// This is an example on how to use a map overlay.
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
sm "github.com/flopp/go-staticmaps"
|
||||
"github.com/fogleman/gg"
|
||||
"github.com/golang/geo/s2"
|
||||
)
|
||||
|
||||
func main() {
|
||||
ctx := sm.NewContext()
|
||||
ctx.SetSize(1600, 1200)
|
||||
|
||||
ctx.SetCenter(s2.LatLngFromDegrees(48.78110, -3.59638))
|
||||
ctx.SetZoom(15)
|
||||
|
||||
// base map
|
||||
ctx.SetTileProvider(sm.NewTileProviderOpenStreetMaps())
|
||||
// OpenSeaMap as a overlay to the base map
|
||||
ctx.AddOverlay(sm.NewTileProviderOpenSeaMap())
|
||||
|
||||
img, err := ctx.Render()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
if err := gg.SavePNG("overlay.png", img); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
@ -122,6 +122,17 @@ func NewTileProviderOpenCycleMap() *TileProvider {
|
||||
return t
|
||||
}
|
||||
|
||||
// NewTileProviderOpenSeaMap creates a TileProvider struct for OpenSeaMap's tile service
|
||||
func NewTileProviderOpenSeaMap() *TileProvider {
|
||||
t := new(TileProvider)
|
||||
t.Name = "sea"
|
||||
t.Attribution = "Maps and Data (c) openstreetmaps.org and contributors, ODbL"
|
||||
t.TileSize = 256
|
||||
t.URLPattern = "http://t1.openseamap.org/seamark/%[2]d/%[3]d/%[4]d.png"
|
||||
t.Shards = []string{}
|
||||
return t
|
||||
}
|
||||
|
||||
// NewTileProviderCarto creates a TileProvider struct for Carto's tile service
|
||||
// See https://github.com/CartoDB/basemap-styles?tab=readme-ov-file#1-web-raster-basemaps for available names
|
||||
func NewTileProviderCarto(name string) *TileProvider {
|
||||
@ -179,6 +190,7 @@ func GetTileProviders(thunderforestApiKey string) map[string]*TileProvider {
|
||||
NewTileProviderOpenTopoMap(),
|
||||
NewTileProviderOpenStreetMaps(),
|
||||
NewTileProviderOpenCycleMap(),
|
||||
NewTileProviderOpenSeaMap(),
|
||||
NewTileProviderCarto("rastertiles/voyager"),
|
||||
NewTileProviderCartoLight(),
|
||||
NewTileProviderCartoDark(),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user