{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Map component. Displays a geographic map centered on a location. Coordinates are in microdegrees (degrees multiplied by 1,000,000) to avoid floating-point values.",
"properties": {
"accessibilityCaption": {
"maxGraphemes": 2000,
"maxLength": 20000,
"type": "string"
},
"caption": {
"description": "Visible caption as an array of text runs with optional formatting marks.",
"items": {
"ref": "net.wireservice.defs#textRun",
"type": "ref"
},
"type": "array"
},
"hidden": {
"type": "boolean"
},
"identifier": {
"maxLength": 256,
"type": "string"
},
"items": {
"description": "Map pins or annotations.",
"items": {
"ref": "#mapItem",
"type": "ref"
},
"type": "array"
},
"latitude": {
"description": "Center latitude in microdegrees (e.g., 37774900 for 37.7749).",
"maximum": 90000000,
"minimum": -90000000,
"type": "integer"
},
"layout": {
"maxLength": 256,
"type": "string"
},
"longitude": {
"description": "Center longitude in microdegrees (e.g., -122419400 for -122.4194).",
"maximum": 180000000,
"minimum": -180000000,
"type": "integer"
},
"mapType": {
"knownValues": [
"standard",
"hybrid",
"satellite"
],
"maxLength": 64,
"type": "string"
},
"span": {
"description": "Visible region span around the center point.",
"ref": "#mapSpan",
"type": "ref"
},
"style": {
"maxLength": 256,
"type": "string"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"mapItem": {
"description": "A pin or annotation on a map.",
"properties": {
"caption": {
"maxGraphemes": 500,
"maxLength": 5000,
"type": "string"
},
"latitude": {
"description": "Latitude in microdegrees.",
"maximum": 90000000,
"minimum": -90000000,
"type": "integer"
},
"longitude": {
"description": "Longitude in microdegrees.",
"maximum": 180000000,
"minimum": -180000000,
"type": "integer"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"mapSpan": {
"description": "The visible region span of a map, in microdegrees.",
"properties": {
"latitudeDelta": {
"minimum": 0,
"type": "integer"
},
"longitudeDelta": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"latitudeDelta",
"longitudeDelta"
],
"type": "object"
}
},
"id": "net.wireservice.component.map",
"lexicon": 1
}