ActivityStreams vocabulary says about Places:
The Place object is intentionally flexible. It can, for instance, be used to identify a location simply by name […] or, by
longitudeandlatitude[…]
While publishers are not required to use these specific properties and MAY make use of other mechanisms for describing locations, consuming implementations that support the
Placeobject MUST support the use of these properties.
For instance, Honk seems to use this.
"location": {
"latitude": 39.95,
"longitude": -75.17,
"name": "Joe Rittenhouse",
"type": "Place"
},
In that specific case Mobilizon needs to specify address data (street, locality, …) which are not covered by basic AS Place type. Mobilizon replaces AS Place type with Schema.org Place type (and specifies it in @context).
"location": {
"address": {
"addressCountry": "France",
"addressLocality": "Lyon",
"addressRegion": "Auvergne-Rhône-Alpes",
"postalCode": "69007",
"streetAddress": "10 Rue Jangot",
"type": "PostalAddress"
},
"geo": {
"latitude": 4.8425657,
"longitude": 45.7517141,
"type": "GeoCoordinates"
},
"id": "http://mobilizon2.com/address/bdf7fb53-7177-46f3-8fb3-93c25a802522",
"name": "10 Rue Jangot",
"type": "Place"
},
However, it might not be the best way. Maybe adding needed Schema.org Place properties (in our case: address) on top of the AS Place type is better. It would at least allow implementations that don’t support everything to grab a subset of the data, such as geographic coordinates for instance.
What do you think ?