Map State API

Bridge ATAK to web-based 3D globes, data visualization frameworks, and AR applications with real-time REST and WebSocket endpoints.

Real-Time ATAK Data Exposed

The Map State Server runs a lightweight HTTP and WebSocket server directly on your ATAK device, exposing live map state to any application that can reach the device over localhost or local network. Perfect for integration with Cesium, DeckGL, TerriaJS, and custom web applications.

Data Type Endpoint Description
Complete State /api/atak/state Full snapshot in single request
User Location /api/atak/location Lat/lon, altitude, heading, speed
Map Extent /api/atak/extent Viewport bounds and zoom level
Markers /api/atak/markers GeoJSON FeatureCollection
Layers /api/atak/layers Active map layer metadata
Compass /api/atak/compass Device heading, pitch, roll

WebSocket Real-Time Push

Avoid polling overhead with WebSocket subscriptions. The server pushes updates every 2 seconds, with additional events for marker changes and viewport updates.

WebSocket Event Types

GeoJSON Marker Output

All markers are returned as a standard GeoJSON FeatureCollection, making them immediately consumable by any web mapping library. Marker properties include MIL-STD-2525 type codes for proper symbology rendering.

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "geometry": {
      "type": "Point",
      "coordinates": [-77.0365, 38.8977, 15.0]
    },
    "properties": {
      "id": "marker-123",
      "name": "Alpha Point",
      "type": "a-f-G",
      "category": "friendly"
    }
  }]
}

Integration Examples

The API is designed for seamless integration with popular web mapping frameworks:

Supported Platforms

🌎 Cesium Integration Use Case

Connect a secondary tablet running CesiumJS to your ATAK device via local WiFi. The Cesium view displays all ATAK markers as 3D points with proper MIL-STD-2525 colors, follows your location in real-time, and shows terrain elevation. Perfect for command post displays or UAV ground control stations.

Network Access Options

Access the API from any device on the same network, or via USB connection for development.

Access Mode URL Pattern Use Case
Localhost http://localhost:8083 On-device web apps
ADB Forward adb forward tcp:8083 tcp:8083 Development from PC
Local Network http://192.168.x.x:8083 Multi-device setups
USB Tethering http://tethered-ip:8083 Direct laptop connection

MIL-STD-2525 Symbology

Marker types follow the MIL-STD-2525 standard, enabling proper affiliation coloring in web visualizations.

Affiliation Codes

Javalin WebSocket REST API GeoJSON CORS Cesium DeckGL MIL-STD-2525
← Real-Time Data Next: Geospatial Analytics →