h-card describes a person or organization (p-name, u-url, u-email, u-photo, p-tel, p-org). h-adr holds an address (p-street-address, p-locality, p-postal-code, p-country-name) and h-geo WGS84 coordinates (p-latitude, p-longitude); both usually nest inside a card or event.
<p class="h-card"><a class="p-name u-url" href="https://example.com/">Lip Phang</a>,
<b class="p-adr h-adr"><i class="p-locality">Paris</i>, <i class="p-country-name">France</i></b>
<b class="p-geo h-geo"><i class="p-latitude">48.86</i>, <i class="p-longitude">2.35</i></b></p>{"type": ["h-card"], "properties": {
"name": ["Lip Phang"],
"url": ["https://example.com/"],
"adr": [{"type": ["h-adr"], "properties": {"locality": ["Paris"], "country-name":
["France"]},
"value": "Paris, France"}],
"geo": [{"type": ["h-geo"], "properties": {"latitude": ["48.86"], "longitude": ["2.35"]},
"value": "48.86, 2.35"}]
}}Properties are arrays because they may repeat; nested objects also get a text value. Use explicit p-latitude and p-longitude: a lone <data class="p-geo h-geo" value="48.86;2.35"> yields no coordinates here.