geotag

package module
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2023 License: BSD-3-Clause Imports: 5 Imported by: 1

README

go-http-leaflet-geotag

Go HTTP middleware for the Leaflet.GeotagPhoto plugin.

Important

Documentation is incomplete.

Example

$> go run -mod vendor cmd/example/main.go 
2020/04/06 11:28:37 Listening for requests on localhost:8080

An abbreviated code example

This is an abbreviated example of code to demonstrate appending Leaflet.GeotagPhoto related handlers to an http.ServeMux instance and updating a user-defined http.Handler to append Leaflet.GeotagPhoto Javascript and CSS links to its output.

Error handling has been removed for the sake of brevity.

import (
	"github.com/sfomuseum/go-http-leaflet-geotag"
	"net/http"
)

func main() {

	// code...
     	
	geotag_opts := geotag.DefaultLeafletGeotagOptions()
	
	mux := http.NewServeMux()

	geotag.AppendAssetHandlers(mux)

	camera_handler, _ := PageHandler(t, "camera")

	camera_handler = geotag.AppendResourcesHandler(camera_handler, geotag_opts)

	mux.Handle("/camera/", camera_handler)

	// code...
}	

For a complete example please consult cmd/example/main.go. The (Javascript) code for the web application itself is contained in the HTML files in the templates/html directory.

Changes

Leaflet.GeotagPhoto.js

This package uses a modified version of the Leaflet.GeotagPhoto.js file that is part of the original Leaflet.GeotagPhoto. It encodes all the static assets (icons and markers) as base64-encoded data URIs rather than linking to the resources themselves. This is to account for situations where an application may be run inside or behind one or more load balancers or proxies and where keeping track of URL rewriting rules becomes a burden.

See also

Documentation

Overview

Package geotag provides HTTP middleware for the Leaflet.GeotagPhoto plugin.

Index

Constants

This section is empty.

Variables

View Source
var INCLUDE_LEAFLET = true

Functions

func AppendAssetHandlers

func AppendAssetHandlers(mux *http.ServeMux) error

func AppendAssetHandlersWithPrefix

func AppendAssetHandlersWithPrefix(mux *http.ServeMux, prefix string) error

func AppendResourcesHandler

func AppendResourcesHandler(next http.Handler, opts *LeafletGeotagOptions) http.Handler

func AppendResourcesHandlerWithPrefix

func AppendResourcesHandlerWithPrefix(next http.Handler, opts *LeafletGeotagOptions, prefix string) http.Handler

Types

type LeafletGeotagOptions

type LeafletGeotagOptions struct {
	JS  []string
	CSS []string
	// AppendJavaScriptAtEOF is a boolean flag to append JavaScript markup at the end of an HTML document
	// rather than in the <head> HTML element. Default is false
	AppendJavaScriptAtEOF bool
}

func DefaultLeafletGeotagOptions

func DefaultLeafletGeotagOptions() *LeafletGeotagOptions

Directories

Path Synopsis
cmd
example command
templates

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL