Using an Interface is one way to do it. The other way is an abstract base class.
The main difference, and the reason interfaces exist, is that Flash does not support multiple inheritance. Classes can only inherit from one other class.
An Interface lets you add behaviours or properties to a class from two places, a sort of multiple inheritance. In Flash it’s typically used when you have objects which subclass an existing class, such as DisplayObject the base class of all drawable objects, and want to add behaviours to just some of them. An Interface lets you do this.
The other way is make your MapTraveller a base class. You can make it an abstract base class, which means it cannot be created, only subclasses can be created. Flash does not support abstract base classes directly but they are easy to fake, just throw an error any time any time one is created.
Starling has examples of both. Search for 'Interface' for examples of the former. Search for 'AbstractClassError' for examples of the latter.