Geopoint

An object signifying a global latitude/longitude/altitude coordinate. Longitude and latitude is stored as decimal degrees, while altitude is stored as a floating point representing meters above sea level.

Properties

  • REQUIREDtypestring

    Value must be set to geopoint.

Validation

Learn more about validation
  • required()function

    Ensures that this field exists.

  • custom(fn)function

    Creates a custom validation rule.

Input

{
  title: 'Launchpad Location',
  name: 'location',
  type: 'geopoint'
}

Output

{
  "_type": "geopoint",
  "lat": 58.63169011423141,
  "lng": 9.089101352587932,
  "alt": 13.37
}

While the geopoint type is available in Sanity by default, you will probably want to install a plugin that provides a more visual way to input the coordinates. For instance, you could use the @sanity/google-maps-input plugin:

cd my-project
sanity install @sanity/google-maps-input

Then configure ./config/@sanity/google-maps-input.json with your Google maps API key:

{
  "apiKey": "google-api-key",
  "defaultZoom": 11,
  "defaultLocation": {
    "lat": 58.63169011423141,
    "lng": 9.089101352587932
  }
}

Make sure the key has access to all of the following APIs:

  • Google Maps JavaScript API
  • Google Places API Web Service
  • Google Static Maps API

You can create such keys and grant API access in the Google Developer Console.

Gotcha

Be careful with your API keys. If you use this functionality, it's a good idea to make your repository private.

Was this article helpful?