go-here alternatives and similar packages
Based on the "Third-party APIs" category.
Alternatively, view go-here alternatives based on common mentions on social networks and blogs.
-
go-openai
OpenAI ChatGPT, GPT-3, GPT-4, DALL·E, Whisper API wrapper for Go -
goamz
Popular fork of goamz which adds some missing API calls to certain packages. -
webhooks
:fishing_pole_and_fish: Webhook receiver for GitHub, Bitbucket, GitLab, Gogs -
githubql
Package githubv4 is a client library for accessing GitHub GraphQL API v4 (https://docs.github.com/en/graphql). -
twitter-scraper
Scrape the Twitter frontend API without authentication with Golang. -
lark
Feishu(飞书)/Lark Open API Go SDK, Support ALL Open API and Event Callback. -
openaigo
OpenAI GPT3/3.5 and GPT4 ChatGPT API Client Library for Go, simple, less dependencies, and well-tested -
hipchat (xmpp)
A golang package to communicate with HipChat over XMPP -
gostorm
GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. -
go-lark
An easy-to-use SDK for Feishu and Lark Open Platform (Instant Messaging API only) -
clarifai
DEPRECATED: please use https://github.com/Clarifai/clarifai-go-grpc -
go-trending
Go library for accessing trending repositories and developers at Github. -
simples3
Simple no frills AWS S3 Golang Library using REST with V4 Signing (without AWS Go SDK) -
go-tgbot
Golang telegram bot API wrapper, session-based router and middleware -
cachet
Go(lang) client library for Cachet (open source status page system). -
google-play-scraper
Golang scraper to get data from Google Play Store
Collect and Analyze Billions of Data Points in Real Time
Do you think we are missing an alternative of go-here or a related project?
README
go-here

Build Type | Status |
---|---|
Linux | |
Windows |
go-here is a Go client library for the HERE API. HERE provides location based services. HERE exposes rest APIs and this library is intended to make it even easier for Go programmers to use. Check the usage section or try the examples to see how to access the HERE API.
Features
- HERE REST API:
- Routing
- Geocoding
- Reverse Geocoding
- Geocoding Autocomplete
- Places
Will add rest of the apis in time and all contributions are welcome.
Install
go get github.com/abdullahselek/go-here/here
To install go-here and it's dependencies with a single line
go get -t github.com/abdullahselek/go-here/here
Documentation
Read GoDoc
Usage
The here
package provides a Client
for accessing the HERE API and each API service requires an AppID and AppKey. Here are some example requests.
var httpClient = &http.Client{
Timeout: time.Second * 15,
}
// Routing client
routingClient := here.NewRoutingClient(httpClient)
routingParams := routingClient.Routing.CreateRoutingParams([2]float32{52.5160, 13.3779}, [2]float32{52.5206, 13.3862}, "appID", []here.Enum{here.RouteMode.Fastest, here.RouteMode.Car, here.RouteMode.TrafficDefault})
routes, httpResponse, err := routingClient.Routing.Route(&routingParams)
// Finding Address in boundingbox
geocodingClient := here.NewGeocodingClient(httpClient)
addressBoundingBoxParams := here.AddressInBoundingBoxParameters{SearchText: "1 main", MapView: geocodingClient.Geocoding.CreateMapView([2]float32{42.3902, -71.1293}, [2]float32{42.3312, -71.0228}), Gen: 9, APIKey: "appKey"}
geocodingResponse, httpResponse, err := geocodingClient.Geocoding.AddressInBoundingBox(&addressBoundingBoxParams)
// Partial address information
partialAddressInformationParams := here.PartialAddressInformationParameters{HouseNumber: 425, Street: "randolph", City: "chicago", Country: "usa", Gen: 9, APIKey: "apiKey"}
geocodingResponse, httpResponse, err = geocodingClient.Geocoding.PartialAddressInformation(&partialAddressInformationParams)
// Reverse geocoding for address details
reverseGeocodingClient := here.NewReverseGeocodingClient(httpClient)
locationParameters := reverseGeocodingClient.ReverseGeocoding.CreateAddressFromLocationParameters([2]float32{42.3902, -71.1293}, 250, here.ReverseGeocodingMode.RetrieveAddresses, 1, 9, "apiKey")
geocodingResponse, httpResponse, err = reverseGeocodingClient.ReverseGeocoding.AddressFromLocation(&locationParameters)
// Reverse geocoding for landmark details
landmarkParameters := reverseGeocodingClient.ReverseGeocoding.CreateLandmarksParameters([2]float32{42.3902, -71.1293}, 1, 9, "apiKey")
geocodingResponse, httpResponse, err = reverseGeocodingClient.ReverseGeocoding.Landmarks(&landmarkParameters)
// Complete location details
autocompleteGeocodingClient := here.NewAutocompleteGeocodingClient(httpClient)
suggestionsParameters := autocompleteGeocodingClient.AutocompleteGeocoding.CreateDetailsForSuggestionParameters("Pariser 1 Berl", "apiKey")
autocompleteGeocodingResponse, httpResponse, err := autocompleteGeocodingClient.AutocompleteGeocoding.DetailsForSuggestion(&suggestionsParameters)
Roadmap
- Add new clients for other endpoints.
Use parameter structs on functions.
License
*Note that all licence references and agreements mentioned in the go-here README section above
are relevant to that project's source code only.