...

/

Design of Google Maps

Design of Google Maps

Let's build a high-level design of maps service.

High-level design

Let’s start with the high-level design of a map system. We split the discussion into two sections:

  1. The services we will need in our design.
  2. The workflow that interconnects these services.

Services

Following are the services we will use in our design:

  • Location finder: It is hard for us to remember the latitude/longitude for every place, we couldn’t determine where are we standing. The location finder is a service used to find the user’s current location and show it on the map.
  • Route finder: For the people who are new to a place, it is difficult to travel because they don’t know the paths. The route finder is a service used to find the paths between two points (locations).
  • Navigator: Suggesting a route through the route finder is not enough. A user may deviate from the optimal path. In that case, a navigator service is used. This service keeps track of users’ journeys and sends updated directions and notifications to the users as soon as they deviate from the suggested route.
  • GPS/Wifi/Cellular technology: These are the technologies that we used to find the ground position of the user.
  • Distributed search: For converting place names to latitude/longitude values, we need a conversion system behind the source and destination fields. Distributed search maintains an index consisting of places names and their mapping to latitude and longitude. User’s search keywords/termsSee Distributed Search for details. are searched using this service to find a location on the map.
  • Area search service: The area search
...

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy