Copyright | (c) Mike Pilgrem 2017 2018 |
---|---|
Maintainer | public@pilgrem.com |
Stability | experimental |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
This package has no connection with Google Inc. or its affiliates.
The Google Geocoding API provides a direct way to access geocoding and reverse geocoding services via an HTTP request. This library provides bindings in Haskell to that API.
NB: The use of the Google Geocoding API services is subject to the Google Maps Platform Terms of Service, which terms restrict the use of content. End Users’ use of Google Maps is subject to the then-current Google Maps/Google Earth Additional Terms of Service at https://maps.google.com/help/terms_maps.html and Google Privacy Policy at https://www.google.com/policies/privacy/.
The code below is an example console application to test privately the use of the library with the Google Geocoding API.
{-# LANGUAGE OverloadedStrings #-} module Main (main) where import Data.Maybe (fromJust) import Data.Text (Text) import Data.Text.IO as T (getLine, putStr) import Graphics.Gloss (Display (..), display, white) import Graphics.Gloss.Juicy (fromDynamicImage) import Network.HTTP.Client (Manager, newManager) import Network.HTTP.Client.TLS (tlsManagerSettings) import Web.Google.Geocoding (Address (..), geocode, GeocodingResponse (..), Geometry (..), Key (..), LatLng (..), Result (..), Status (..)) import Web.Google.Maps.Static (Center (..), Location (..), Size (..), staticmap, Zoom (..)) import System.IO (hFlush, stdout) main :: IO () main = do putStrLn $ "A test of the Google Geocoding API.\nNB: The use of " ++ "the API services is subject to the Google Maps Platform Terms of " ++ "Serivce at https://cloud.google.com/maps-platform/terms/.\n" txt <- input "Enter full address: " mgr <- newManager tlsManagerSettings let apiKey = Key "<REPLACE_THIS_WITH_YOUR_ACTUAL_GOOGLE_API_KEY>" result <- geocode mgr apiKey (Just $ Address txt) Nothing Nothing Nothing Nothing case result of Right response -> do let s = status response case s of OK -> do let latlng = location $ geometry $ head $ results response center = Center $ Coord latlng print center displayMap mgr apiKey center _ -> putStrLn $ "Error! Status: " ++ show s _ -> putStrLn $ "Error! Result:\n" ++ show result input :: Text -> IO Text input msg = T.putStr msg >> hFlush stdout >> T.getLine displayMap :: Manager -> Key -> Center -> IO () displayMap mgr apiKey center = do let zoom = Just $ Zoom 17 w = 400 h = 400 size = Size w h result <- staticmap mgr apiKey Nothing (Just center) zoom size Nothing Nothing [] Nothing [] [] Nothing case result of Right response -> do let picture = fromJust $ fromDynamicImage response title = "Test Google Geocoding API" window = InWindow title (w, h) (10, 10) display window white picture Left err -> putStrLn $ "Error while displaying map: " ++ show err
Synopsis
- geocode :: Manager -> Key -> Maybe Address -> Maybe [FilterComponent] -> Maybe Viewport -> Maybe Language -> Maybe Region -> IO (Either ClientError GeocodingResponse)
- backGeocode :: Manager -> Key -> Maybe LatLng -> Maybe PlaceId -> Maybe AddressType -> Maybe LocationType -> Maybe Language -> IO (Either ClientError GeocodingResponse)
- type GoogleGeocodingAPI = ("geocode" :> ("json" :> (QueryParam "key" Key :> (QueryParam "address" Address :> (QueryParam "components" [FilterComponent] :> (QueryParam "bounds" Viewport :> (QueryParam "language" Language :> (QueryParam "region" Region :> Get '[JSON] GeocodingResponse)))))))) :<|> ("geocode" :> ("json" :> (QueryParam "key" Key :> (QueryParam "latlng" LatLng :> (QueryParam "place_id" PlaceId :> (QueryParam "result_type" AddressType :> (QueryParam "location_type" LocationType :> (QueryParam "language" Language :> Get '[JSON] GeocodingResponse))))))))
- api :: Proxy GoogleGeocodingAPI
- newtype Key = Key Text
- newtype Address = Address Text
- data FilterComponent
- data Viewport = Viewport {}
- data Language
- = Afrikaans
- | Albanian
- | Amharic
- | Arabic
- | Armenian
- | Azerbaijani
- | Basque
- | Belarusian
- | Bengali
- | Bosnian
- | Bulgarian
- | Burmese
- | Catalan
- | Chinese
- | ChineseSimplified
- | ChineseHongKong
- | ChineseTraditional
- | Croatian
- | Czech
- | Danish
- | Dutch
- | English
- | EnglishAustralian
- | EnglishBritish
- | Estonian
- | Farsi
- | Filipino
- | Finnish
- | French
- | FrenchCanadian
- | Galician
- | Georgian
- | German
- | Greek
- | Gujarati
- | Hebrew
- | Hindi
- | Icelandic
- | Hungarian
- | Indonesian
- | Italian
- | Japanese
- | Kannada
- | Kazakh
- | Khmer
- | Korean
- | Kyrgyz
- | Lao
- | Latvian
- | Lithuanian
- | Macedonian
- | Malay
- | Malayalam
- | Marathi
- | Mongolian
- | Nepali
- | Norwegian
- | Polish
- | Portuguese
- | PortugueseBrazil
- | PortuguesePortugal
- | Punjabi
- | Romanian
- | Russian
- | Serbian
- | Sinhalese
- | Slovak
- | Slovenian
- | Spanish
- | SpanishLatinAmerican
- | Swahili
- | Swedish
- | Tagalog
- | Tamil
- | Telugu
- | Thai
- | Turkish
- | Ukrainian
- | Urdu
- | Uzbek
- | Vietnamese
- | Zulu
- data Region
- = AD
- | AE
- | AF
- | AG
- | AI
- | AL
- | AM
- | AO
- | AQ
- | AR
- | AS
- | AT
- | AU
- | AW
- | AX
- | AZ
- | BA
- | BB
- | BD
- | BE
- | BF
- | BG
- | BH
- | BI
- | BJ
- | BL
- | BM
- | BN
- | BO
- | BQ
- | BR
- | BS
- | BT
- | BV
- | BW
- | BY
- | BZ
- | CA
- | CC
- | CD
- | CF
- | CG
- | CH
- | CI
- | CK
- | CL
- | CM
- | CN
- | CO
- | CR
- | CU
- | CV
- | CW
- | CX
- | CY
- | CZ
- | DE
- | DJ
- | DK
- | DM
- | DO
- | DZ
- | EC
- | EE
- | EG
- | EH
- | ER
- | ES
- | ET
- | FI
- | FJ
- | FK
- | FM
- | FO
- | FR
- | GA
- | GB
- | GD
- | GE
- | GF
- | GG
- | GH
- | GI
- | GL
- | GM
- | GN
- | GP
- | GQ
- | GR
- | GS
- | GT
- | GU
- | GW
- | GY
- | HK
- | HM
- | HN
- | HR
- | HT
- | HU
- | ID
- | IE
- | IL
- | IM
- | IN
- | IO
- | IQ
- | IR
- | IS
- | IT
- | JE
- | JM
- | JO
- | JP
- | KE
- | KG
- | KH
- | KI
- | KM
- | KN
- | KP
- | KR
- | KW
- | KY
- | KZ
- | LA
- | LB
- | LC
- | LI
- | LK
- | LR
- | LS
- | LT
- | LU
- | LV
- | LY
- | MA
- | MC
- | MD
- | ME
- | MF
- | MG
- | MH
- | MK
- | ML
- | MM
- | MN
- | MO
- | MP
- | MQ
- | MR
- | MS
- | MT
- | MU
- | MV
- | MW
- | MX
- | MY
- | MZ
- | NA
- | NC
- | NE
- | NF
- | NG
- | NI
- | NL
- | NO
- | NP
- | NR
- | NU
- | NZ
- | OM
- | PA
- | PE
- | PF
- | PG
- | PH
- | PK
- | PL
- | PM
- | PN
- | PR
- | PS
- | PT
- | PW
- | PY
- | QA
- | RE
- | RO
- | RS
- | RU
- | RW
- | SA
- | SB
- | SC
- | SD
- | SE
- | SG
- | SH
- | SI
- | SJ
- | SK
- | SL
- | SM
- | SN
- | SO
- | SR
- | SS
- | ST
- | SV
- | SX
- | SY
- | SZ
- | TC
- | TD
- | TF
- | TG
- | TH
- | TJ
- | TK
- | TL
- | TM
- | TN
- | TO
- | TR
- | TT
- | TV
- | TW
- | TZ
- | UA
- | UG
- | UM
- | US
- | UY
- | UZ
- | VA
- | VC
- | VE
- | VG
- | VI
- | VN
- | VU
- | WF
- | WS
- | YE
- | YT
- | ZA
- | ZM
- | ZW
- | AC
- | UK
- | EU
- data GeocodingResponse = GeocodingResponse {}
- data Status
- data Result = Result {}
- newtype AddressType = AddressType Text
- data AddressComponent = AddressComponent {}
- newtype PostcodeLocality = PostcodeLocality Text
- data Geometry = Geometry {}
- data LatLng = LatLng {}
- newtype PlaceId = PlaceId Text
- data Location
- data LocationType
Functions
geocode :: Manager -> Key -> Maybe Address -> Maybe [FilterComponent] -> Maybe Viewport -> Maybe Language -> Maybe Region -> IO (Either ClientError GeocodingResponse) Source #
Geocode. NB: The use of the Google Geocoding API services is subject to the Google Maps Platform Terms of Service. End Users’ use of Google Maps is subject to the then-current Google Maps/Google Earth Additional Terms of Service at https://maps.google.com/help/terms_maps.html and Google Privacy Policy at https://www.google.com/policies/privacy/.
backGeocode :: Manager -> Key -> Maybe LatLng -> Maybe PlaceId -> Maybe AddressType -> Maybe LocationType -> Maybe Language -> IO (Either ClientError GeocodingResponse) Source #
Reverse (back) geocode. NB: The use of the Google Geocoding API services is subject to the Google Maps Platform Terms of Service. End Users’ use of Google Maps is subject to the then-current Google Maps/Google Earth Additional Terms of Service at https://maps.google.com/help/terms_maps.html and Google Privacy Policy at https://www.google.com/policies/privacy/.
API
type GoogleGeocodingAPI = ("geocode" :> ("json" :> (QueryParam "key" Key :> (QueryParam "address" Address :> (QueryParam "components" [FilterComponent] :> (QueryParam "bounds" Viewport :> (QueryParam "language" Language :> (QueryParam "region" Region :> Get '[JSON] GeocodingResponse)))))))) :<|> ("geocode" :> ("json" :> (QueryParam "key" Key :> (QueryParam "latlng" LatLng :> (QueryParam "place_id" PlaceId :> (QueryParam "result_type" AddressType :> (QueryParam "location_type" LocationType :> (QueryParam "language" Language :> Get '[JSON] GeocodingResponse)))))))) Source #
Google Geocoding API
api :: Proxy GoogleGeocodingAPI Source #
API type
Types
API key
Instances
Show Key | |
Eq Key | |
ToHttpApiData Key | |
Defined in Web.Google.Maps.Common toUrlPiece :: Key -> Text # toEncodedUrlPiece :: Key -> Builder # toHeader :: Key -> ByteString # toQueryParam :: Key -> Text # |
Address
Instances
Show Address | |
Eq Address | |
ToHttpApiData Address | |
Defined in Web.Google.Maps.Common toUrlPiece :: Address -> Text # toEncodedUrlPiece :: Address -> Builder # toHeader :: Address -> ByteString # toQueryParam :: Address -> Text # |
data FilterComponent Source #
Fliter component: a component that can be used to filter the results returned in a geocoding response.
Instances
Show FilterComponent Source # | |
Defined in Web.Google.Geocoding showsPrec :: Int -> FilterComponent -> ShowS # show :: FilterComponent -> String # showList :: [FilterComponent] -> ShowS # | |
Eq FilterComponent Source # | |
Defined in Web.Google.Geocoding (==) :: FilterComponent -> FilterComponent -> Bool # (/=) :: FilterComponent -> FilterComponent -> Bool # | |
ToHttpApiData FilterComponent Source # | |
Defined in Web.Google.Geocoding toUrlPiece :: FilterComponent -> Text # toEncodedUrlPiece :: FilterComponent -> Builder # toHeader :: FilterComponent -> ByteString # toQueryParam :: FilterComponent -> Text # | |
ToHttpApiData [FilterComponent] Source # | |
Defined in Web.Google.Geocoding toUrlPiece :: [FilterComponent] -> Text # toEncodedUrlPiece :: [FilterComponent] -> Builder # toHeader :: [FilterComponent] -> ByteString # toQueryParam :: [FilterComponent] -> Text # |
Viewport
Instances
FromJSON Viewport Source # | |
Generic Viewport Source # | |
Show Viewport Source # | |
Eq Viewport Source # | |
ToHttpApiData Viewport Source # | |
Defined in Web.Google.Geocoding toUrlPiece :: Viewport -> Text # toEncodedUrlPiece :: Viewport -> Builder # toHeader :: Viewport -> ByteString # toQueryParam :: Viewport -> Text # | |
type Rep Viewport Source # | |
Defined in Web.Google.Geocoding type Rep Viewport = D1 ('MetaData "Viewport" "Web.Google.Geocoding" "google-maps-geocoding-0.7.0.2-BX5teYgByhwKKdyIIlgyKf" 'False) (C1 ('MetaCons "Viewport" 'PrefixI 'True) (S1 ('MetaSel ('Just "southwest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LatLng) :*: S1 ('MetaSel ('Just "northeast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LatLng))) |
Language: supported languages based on the list at https://developers.google.com/maps/faq#languagesupport (as at 20 March 2022).
Afrikaans | Since: google-static-maps-0.7.0.0 |
Albanian | |
Amharic | Since: google-static-maps-0.7.0.0 |
Arabic | |
Armenian | Since: google-static-maps-0.7.0.0 |
Azerbaijani | Since: google-static-maps-0.7.0.0 |
Basque | |
Belarusian | |
Bengali | |
Bosnian | Since: google-static-maps-0.7.0.0 |
Bulgarian | |
Burmese | |
Catalan | |
Chinese | Since: google-static-maps-0.7.0.0 |
ChineseSimplified | |
ChineseHongKong | Since: google-static-maps-0.7.0.0 |
ChineseTraditional | |
Croatian | |
Czech | |
Danish | |
Dutch | |
English | |
EnglishAustralian | |
EnglishBritish | |
Estonian | Since: google-static-maps-0.7.0.0 |
Farsi | |
Filipino | |
Finnish | |
French | |
FrenchCanadian | Since: google-static-maps-0.7.0.0 |
Galician | |
Georgian | Since: google-static-maps-0.7.0.0 |
German | |
Greek | |
Gujarati | |
Hebrew | |
Hindi | |
Icelandic | Since: google-static-maps-0.7.0.0 |
Hungarian | |
Indonesian | |
Italian | |
Japanese | |
Kannada | |
Kazakh | |
Khmer | Since: google-static-maps-0.7.0.0 |
Korean | |
Kyrgyz | |
Lao | Since: google-static-maps-0.7.0.0 |
Latvian | |
Lithuanian | |
Macedonian | |
Malay | Since: google-static-maps-0.7.0.0 |
Malayalam | |
Marathi | |
Mongolian | Since: google-static-maps-0.7.0.0 |
Nepali | Since: google-static-maps-0.7.0.0 |
Norwegian | |
Polish | |
Portuguese | |
PortugueseBrazil | |
PortuguesePortugal | |
Punjabi | |
Romanian | |
Russian | |
Serbian | |
Sinhalese | Since: google-static-maps-0.7.0.0 |
Slovak | |
Slovenian | |
Spanish | |
SpanishLatinAmerican | Since: google-static-maps-0.7.0.0 |
Swahili | Since: google-static-maps-0.7.0.0 |
Swedish | |
Tagalog | No longer listed by Google at 12 June 2021. See |
Tamil | |
Telugu | |
Thai | |
Turkish | |
Ukrainian | |
Urdu | Since: google-static-maps-0.7.0.0 |
Uzbek | |
Vietnamese | |
Zulu | Since: google-static-maps-0.7.0.0 |
Instances
Show Language | |
Eq Language | |
ToHttpApiData Language | |
Defined in Web.Google.Maps.Common toUrlPiece :: Language -> Text # toEncodedUrlPiece :: Language -> Builder # toHeader :: Language -> ByteString # toQueryParam :: Language -> Text # |
Region: a ccTLD (country code top level domain).
AD | |
AE | |
AF | |
AG | |
AI | |
AL | |
AM | |
AO | |
AQ | |
AR | |
AS | |
AT | |
AU | |
AW | |
AX | |
AZ | |
BA | |
BB | |
BD | |
BE | |
BF | |
BG | |
BH | |
BI | |
BJ | |
BL | |
BM | |
BN | |
BO | |
BQ | |
BR | |
BS | |
BT | |
BV | |
BW | |
BY | |
BZ | |
CA | |
CC | |
CD | |
CF | |
CG | |
CH | |
CI | |
CK | |
CL | |
CM | |
CN | |
CO | |
CR | |
CU | |
CV | |
CW | |
CX | |
CY | |
CZ | |
DE | |
DJ | |
DK | |
DM | |
DO | |
DZ | |
EC | |
EE | |
EG | |
EH | |
ER | |
ES | |
ET | |
FI | |
FJ | |
FK | |
FM | |
FO | |
FR | |
GA | |
GB | |
GD | |
GE | |
GF | |
GG | |
GH | |
GI | |
GL | |
GM | |
GN | |
GP | |
GQ | |
GR | |
GS | |
GT | |
GU | |
GW | |
GY | |
HK | |
HM | |
HN | |
HR | |
HT | |
HU | |
ID | |
IE | |
IL | |
IM | |
IN | |
IO | |
IQ | |
IR | |
IS | |
IT | |
JE | |
JM | |
JO | |
JP | |
KE | |
KG | |
KH | |
KI | |
KM | |
KN | |
KP | |
KR | |
KW | |
KY | |
KZ | |
LA | |
LB | |
LC | |
LI | |
LK | |
LR | |
LS | |
LT | |
LU | |
LV | |
LY | |
MA | |
MC | |
MD | |
ME | |
MF | |
MG | |
MH | |
MK | |
ML | |
MM | |
MN | |
MO | |
MP | |
MQ | |
MR | |
MS | |
MT | |
MU | |
MV | |
MW | |
MX | |
MY | |
MZ | |
NA | |
NC | |
NE | |
NF | |
NG | |
NI | |
NL | |
NO | |
NP | |
NR | |
NU | |
NZ | |
OM | |
PA | |
PE | |
PF | |
PG | |
PH | |
PK | |
PL | |
PM | |
PN | |
PR | |
PS | |
PT | |
PW | |
PY | |
QA | |
RE | |
RO | |
RS | |
RU | |
RW | |
SA | |
SB | |
SC | |
SD | |
SE | |
SG | |
SH | |
SI | |
SJ | |
SK | |
SL | |
SM | |
SN | |
SO | |
SR | |
SS | |
ST | |
SV | |
SX | |
SY | |
SZ | |
TC | |
TD | |
TF | |
TG | |
TH | |
TJ | |
TK | |
TL | |
TM | |
TN | |
TO | |
TR | |
TT | |
TV | |
TW | |
TZ | |
UA | |
UG | |
UM | |
US | |
UY | |
UZ | |
VA | |
VC | |
VE | |
VG | |
VI | |
VN | |
VU | |
WF | |
WS | |
YE | |
YT | |
ZA | |
ZM | |
ZW | |
AC | |
UK | |
EU |
Instances
Show Region | |
Eq Region | |
ToHttpApiData Region | |
Defined in Web.Google.Maps.Common toUrlPiece :: Region -> Text # toEncodedUrlPiece :: Region -> Builder # toHeader :: Region -> ByteString # toQueryParam :: Region -> Text # |
data GeocodingResponse Source #
Geocoding Reponse
Instances
Contains the status of the request and may contain debugging information to help you track down why geocoding is not working.
OK | Indicates that no errors occurred; the address was successfully parsed and at least one geocode was returned. |
ZeroResults | Indicates that the geocode was successful but returned no results. This may occur if the geocoder was passed a non-existent address. |
OverQueryLimit | |
RequestDenied | |
InvalidRequest | Generally indicates that the query (address, components or latlng) is missing. |
UnknownError |
A result of the geocoder.
Result | |
|
Instances
newtype AddressType Source #
Address (and address component) type: The list of types provided by Google (as at 4 March 2017) is incomplete.
Instances
data AddressComponent Source #
Address component
Instances
newtype PostcodeLocality Source #
Postcode locality: a locality contained in a postal code.
Instances
Geometry
Geometry | |
|
Instances
FromJSON Geometry Source # | |
Generic Geometry Source # | |
Show Geometry Source # | |
Eq Geometry Source # | |
type Rep Geometry Source # | |
Defined in Web.Google.Geocoding type Rep Geometry = D1 ('MetaData "Geometry" "Web.Google.Geocoding" "google-maps-geocoding-0.7.0.2-BX5teYgByhwKKdyIIlgyKf" 'False) (C1 ('MetaCons "Geometry" 'PrefixI 'True) ((S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LatLng) :*: S1 ('MetaSel ('Just "location_type") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LocationType)) :*: (S1 ('MetaSel ('Just "viewport") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Viewport) :*: S1 ('MetaSel ('Just "bounds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Viewport))))) |
Latitude and longitude: precision beyond 6 decimal places is ignored.
Instances
FromJSON LatLng | |
Generic LatLng | |
Show LatLng | |
Eq LatLng | |
ToHttpApiData LatLng | |
Defined in Web.Google.Maps.Common toUrlPiece :: LatLng -> Text # toEncodedUrlPiece :: LatLng -> Builder # toHeader :: LatLng -> ByteString # toQueryParam :: LatLng -> Text # | |
type Rep LatLng | |
Defined in Web.Google.Maps.Common type Rep LatLng = D1 ('MetaData "LatLng" "Web.Google.Maps.Common" "google-static-maps-0.7.0.2-Gdbwzt23wN2L0WYJarjNP8" 'False) (C1 ('MetaCons "LatLng" 'PrefixI 'True) (S1 ('MetaSel ('Just "lat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "lng") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double))) |
Place id
Instances
FromJSON PlaceId Source # | |
Generic PlaceId Source # | |
Show PlaceId Source # | |
Eq PlaceId Source # | |
ToHttpApiData PlaceId Source # | |
Defined in Web.Google.Geocoding toUrlPiece :: PlaceId -> Text # toEncodedUrlPiece :: PlaceId -> Builder # toHeader :: PlaceId -> ByteString # toQueryParam :: PlaceId -> Text # | |
type Rep PlaceId Source # | |
Defined in Web.Google.Geocoding |
Location
Instances
Show Location | |
Eq Location | |
ToHttpApiData Location | |
Defined in Web.Google.Maps.Common toUrlPiece :: Location -> Text # toEncodedUrlPiece :: Location -> Builder # toHeader :: Location -> ByteString # toQueryParam :: Location -> Text # | |
ToHttpApiData [Location] | |
Defined in Web.Google.Maps.Common toUrlPiece :: [Location] -> Text # toEncodedUrlPiece :: [Location] -> Builder # toHeader :: [Location] -> ByteString # toQueryParam :: [Location] -> Text # |
data LocationType Source #
Location type
Instances
FromJSON LocationType Source # | |
Defined in Web.Google.Geocoding parseJSON :: Value -> Parser LocationType # parseJSONList :: Value -> Parser [LocationType] # | |
Show LocationType Source # | |
Defined in Web.Google.Geocoding showsPrec :: Int -> LocationType -> ShowS # show :: LocationType -> String # showList :: [LocationType] -> ShowS # | |
Eq LocationType Source # | |
Defined in Web.Google.Geocoding (==) :: LocationType -> LocationType -> Bool # (/=) :: LocationType -> LocationType -> Bool # | |
ToHttpApiData LocationType Source # | |
Defined in Web.Google.Geocoding toUrlPiece :: LocationType -> Text # toEncodedUrlPiece :: LocationType -> Builder # toHeader :: LocationType -> ByteString # toQueryParam :: LocationType -> Text # |