SEO.JSONLD.GeoCircle (SEO v0.3.0-rc.0)

View Source

A GeoCircle is a GeoShape representing a circular geographic area. As it is a GeoShape it provides the simple textual property 'circle', but also allows the combination of postalCode alongside geoRadius. The center of the circle can be indicated via the 'geoMidpoint' property, or more approximately using 'address', 'postalCode'.

Helper for building a Schema.org GeoCircle JSON-LD structure.

Summary

Types

t()

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "GeoCircle", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

Build a GeoCircle JSON-LD map.

Types

attrs()

@type attrs() ::
  %{
    optional(:geo_midpoint) => SEO.JSONLD.GeoCoordinates.t() | map(),
    optional(:geo_radius) => String.t() | number() | map(),
    optional(:address) => String.t() | SEO.JSONLD.PostalAddress.t() | map(),
    optional(:address_country) => SEO.JSONLD.Country.t() | map() | String.t(),
    optional(:box) => String.t(),
    optional(:circle) => String.t(),
    optional(:elevation) => String.t() | number(),
    optional(:line) => String.t(),
    optional(:polygon) => String.t(),
    optional(:postal_code) => String.t(),
    optional(:additional_type) => String.t() | URI.t(),
    optional(:alternate_name) => String.t(),
    optional(:description) => SEO.JSONLD.TextObject.t() | map() | String.t(),
    optional(:disambiguating_description) => String.t(),
    optional(:identifier) =>
      String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
    optional(:image) =>
      URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
    optional(:main_entity_of_page) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:name) => String.t(),
    optional(:owner) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:potential_action) => SEO.JSONLD.Action.t() | map(),
    optional(:same_as) => URI.t() | String.t(),
    optional(:subject_of) =>
      SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
    optional(:url) => URI.t() | String.t()
  }
  | [
      geo_midpoint: SEO.JSONLD.GeoCoordinates.t() | map(),
      geo_radius: String.t() | number() | map(),
      address: String.t() | SEO.JSONLD.PostalAddress.t() | map(),
      address_country: SEO.JSONLD.Country.t() | map() | String.t(),
      box: String.t(),
      circle: String.t(),
      elevation: String.t() | number(),
      line: String.t(),
      polygon: String.t(),
      postal_code: String.t(),
      additional_type: String.t() | URI.t(),
      alternate_name: String.t(),
      description: SEO.JSONLD.TextObject.t() | map() | String.t(),
      disambiguating_description: String.t(),
      identifier: String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
      image: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
      main_entity_of_page:
        SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      name: String.t(),
      owner: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      potential_action: SEO.JSONLD.Action.t() | map(),
      same_as: URI.t() | String.t(),
      subject_of: SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
      url: URI.t() | String.t()
    ]

t()

@type t() :: %{required(String.t()) => term()}

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "GeoCircle", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

build(attrs)

@spec build(attrs()) :: t()

Build a GeoCircle JSON-LD map.

Fields

  • :geo_midpoint - Indicates the GeoCoordinates at the centre of a GeoShape, e.g. GeoCircle.
  • :geo_radius - Indicates the approximate radius of a GeoCircle (metres unless indicated otherwise via Distance notation).

Inherited properties

Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: