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

  • 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.