Skip to content

Google APIs

jelockwood edited this page Jul 16, 2018 · 13 revisions

pinpoint uses at least one and optionally up to three Google APIs, these are as follows -

  1. Google Geolocation API - compulsory, this uses a list of WiFi BSSIDs to find your latitude and longitude
  2. Google Geocode API - optional, this uses the latitude and longitude and looks up the matching street address, this is referred to as a 'reverse' Geocode lookup
  3. Google Elevation API - optional, this uses the latitude and longitude and lookups the matching elevation aka altitude of your location

pinpoint defaults to using both the compulsory Geolocation API and the optional Geocode API. As standard pinpoint does not use the Elevation API and hence will default to returning an altitude of zero metres.

You need to have a Google account and via this account enable the above APIs. The first link will let you search for and enable the above APIs

Google APIs library

All three APIs are in the Maps category and the Places sub-category. You will need to create a 'project' to which your activated APIs and API keys are linked. Once you have created a project select it as per Image1 below and then add the API as per Image1 and Image2.

Image1

Image2

Warning! Use of these APIs used to be possible free of charge, it is now as of July 16th 2018 a billable service, however as far as I can see you do get a free $200 credit per month as described here. Therefore as long as your usage is low enough you should not incur any costs. You should also be able to set a usage cap on your project to prevent exceeding this free credit level. Unfortunately you cannot set a usage cap at a monthly level to match the $200 credit, you instead have to set a daily usage limit, this will depend on how many APIs you chose to use, how many devices you have and how many hours per day they operate, however the total number of API calls per month that would equate to the free credit of $200 is 40,000. Non profit organisations may be able to enrol as not for profit and get free credits to use these Maps APIs. See - https://support.google.com/nonprofits/answer/3367237?hl=en-GB

If you set your usage limits low enough this should be sufficient both for testing and for home i.e. personal use to track your own computers.

  1. Geolocation API billing information
  2. Geocoding API billing information
  3. Elevation API billing information

The pinpoint launchdaemon is set to run a query very hour, if you only used the compulsory Geolocation API then this would be a potential 24 API calls per device per day. In reality an averagely used computer would not be turned on all day long so you could potentially expect an average use of 12 cycles. If you used all three APIs this would amount to 36 API calls per device per day. Again you may or may not expect usage on weekends or holidays.

  1. Getting a Geolocation API key
  2. Getting a Geocoding API key
  3. Getting an Elevation API key

Note: You can and indeed I strongly recommend you do use the same API key for all three APIs. My pinpoint is only designed to use a single API key.