What Problem Does This Solve?
User wants to find the geographic location from other geographic data, such as street addresses, points of interest or postal codes.
When to Use This Pattern
Use the location finder to provide a means to zoom to a point or area of interest that matters to the user of the application and serves as the starting point for further input or analysis.
What’s the Solution?
Provide an input field that allows users to type their search. Auto-complete functionality is a great way to provide potential search results as the user is typing and to prevent typos. After selecting the desired result the map should zoom and center the map around its coordinates and show an extent that provides enough context to validate that the location is indeed the desired result. Adding a Marker or outlining the area with a polygon feature helps to show the exact location and allows the user to invoke further actions. Opening an info window is a common practice as well.
Why Use This Pattern?
Locating your current location or an area of interest is typically the first task a user performs before doing any sort of spatial analysis. It is a good practice for a map application to offer a location finder to quickly and easily zoom the map to a meaningful extent.
During search the most common location associated with an unqualified name should be listed first; for example, if “Rome” or “Paris” was specified, “Rome, Italy” or “Paris, Ile-de-France, France” will be listed, rather than a less commonly known place.
If the search returns exactly one result the application may treat this finding as the desired result and automatically center around it. Another school of thought is that explicit user action is preferred and the application should wait for the user to click the result.
The marker symbol on the map will be removed and placed in a new location after invoking a new search, in any other case (e.g. zooming, panning) the marker should remain on the map. It is a common practice to offer a means to clear the search which will also remove the marker.