1. A method executed on a mobile device, comprising: determining a first location of the mobile device, the first location including an area defined by a point and an error margin extending from the point, the point being represented by a latitude coordinate and a longitude coordinate, the error margin corresponding to a level of confidence that the mobile device is located in the area, the first location intersecting a first geographic area defined by a first geofence and a second geographic area defined by a second geofence, each of the first geographic area and second geographic area corresponding to a geographic feature and being associated with one or more selection criteria that, if satisfied, indicate that the mobile device has entered the corresponding geofence; calculating a traveling speed and direction of the mobile device; based on the calculated traveling speed and direction of the mobile device, selecting one of the first geofence and the second geofence, including determining that the travelling speed and direction satisfy the one or more selection criteria of the selected geofence; determining a second location of the mobile device based on the first location and the selected geofence, the second location including a portion of the first location that intersects the selected geofence; and providing the second location and contextual information of the selected geofence for display on a display screen of the mobile device; wherein the one or more selection criteria include a speed limit of the mobile device traveling in the geographic area of the corresponding geofence.