We describe an implemented architecture that integrates a map representation into a reactive, subsumption-based mobile robot. As an alternative to hybrid methods, which separate the reactive and traditional planning parts of the control system, we present a fully integrated reactive system that removes the distinction between the control program and the map. Our method was implemented and tested on a mobile robot equipped with a ring of sonars and a compass, and programmed with a collection of simple, incrementally designed behaviors. The robot performs collision-free navigation, dynamic landmark detection, map construction and maintenance, and path planning. Given any known landmark as a goal, the robot plans and executes the shortest known path to it. If the goal is not reachable, the robot detects failure, updates the map, and finds an alternate route. The topological representation primitives are designed to suit the robot's sensors and its navigation behavior, thus minimizing the amount of stored information. Distributed over a collection of behaviors, the map itself performs constant-time localization and linear-time path planning. The approach we present is qualitative and tolerant of sensor inaccuracies, unexpected obstacles, and course changes. It extends the repertoire of integrated reactive systems to tasks requiring spatial modeling and user interaction.