aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..349f41c
--- /dev/null
+++ b/main.go
@@ -0,0 +1,45 @@
+package main
+
+import (
+ "github.com/labstack/echo/v4"
+ "log"
+ "strconv"
+)
+
+func main() {
+ e := echo.New()
+ e.GET("/map", func(c echo.Context) error {
+ lat, err := strconv.ParseFloat(c.QueryParam("lat"), 64)
+ if err != nil {
+ return err
+ }
+ lon, err := strconv.ParseFloat(c.QueryParam("lon"), 64)
+ if err != nil {
+ return err
+ }
+ w, err := strconv.Atoi(c.QueryParam("w"))
+ if err != nil {
+ w = 800
+ }
+ h, err := strconv.Atoi(c.QueryParam("h"))
+ if err != nil {
+ h = 800
+ }
+ zoom, err := strconv.Atoi(c.QueryParam("zoom"))
+ if err != nil {
+ zoom = 16
+ }
+ if zoom < 1 {
+ zoom = 1
+ }
+ if zoom > 20 {
+ zoom = 20
+ }
+ img, err := GetMapImage(lat, lon, zoom, w, h)
+ if err != nil {
+ return err
+ }
+ return c.Blob(200, "image/png", img)
+ })
+ log.Fatal(e.Start(":8000"))
+}