// niantic_platform_gamemapobject.proto // Reconstructed from com.nianticlabs.pokemongo 0.431.0 (versionCode 2026092402, arm64-v8a). // Field numbers were recovered from the compiled parsers; names come from the C# types, // so some may differ from Niantic's originals. Study material, not an official API. syntax = "proto3"; package niantic.platform.gamemapobject; message CapProto { PointProto center = 1; double angle_degrees = 2; } message CoveringProto { repeated int64 cell_id = 1; } message LineProto { repeated PointProto vertex = 1; } message LoopProto { repeated PointProto vertex = 1; } message MapQueryRequestProto { repeated uint64 query_s2_cell_ids = 1; repeated uint64 query_s2_cell_timestamps = 2; } message MapQueryResponseProto { repeated MapS2Cell s2_cells = 1; repeated MapS2CellEntity entities = 2; repeated string deleted_entities = 3; } message MapS2Cell { uint64 s2_cell_id = 1; uint64 s2_cell_base_timestamp = 2; uint64 s2_cell_timestamp = 3; repeated string entity_key = 4; repeated string deleted_entity_key = 5; } message MapS2CellEntity { string key = 1; uint64 timestamp = 2; bytes payload = 3; repeated Location points = 4; ShapeProto new_shape = 5; message Location { double latitude = 1; double longitude = 2; double altitude = 3; } } message PointProto { double lat_degrees = 1; double lng_degrees = 2; } message PolygonProto { repeated LoopProto loop = 1; } message RectProto { PointProto lo = 1; PointProto hi = 2; } message ShapeCollectionProto { repeated ShapeProto shape = 1; } message ShapeProto { PointProto point = 1; RectProto rect = 2; CapProto cap = 3; CoveringProto covering = 4; LineProto line = 5; PolygonProto polygon = 6; ShapeCollectionProto collection = 7; }