IP Library Granted Patent US 12670814
Granted Patent B2
US 12670814 · App. 18/328,694 · Granted Jun 30, 2026

Progressive display in multi-zoom digital map

Inventors: Gianluca Donato (Los Altos, CA); Bradley Herried (Bentonville, AR); Dawit Y. Seid (Pleasanton, CA); Edward L. Pernicka (Redwood City, CA); Madhuwanti A. Vaidya (San Jose, CA); Michael J. Foster (Sunnyvale, CA); Ralph E. Lemke (Sunnyvale, CA); Ryan P. Crowther (Brooklyn, NY); Surya Prasad Bokam (Sunnyvale, CA)
Assignee: Apple Inc.
G09B29/005G06V20/70G09B29/106
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12670814
App. No.
18/328,694
Granted
Jun 30, 2026
Kind
B2
Abstract

The present application relates to devices and components including apparatus, systems, and methods to determine information to be displayed within a display of a map. For example, the apparatus, systems, and methods can determine which settlements, labels, and/or roads are to be displayed within a display of a map based on a current zoom level of the display of the map, among other factors.

Claims (66)

1 . A computer-implemented method, comprising:

determining, by a system, a zoom level for display of an area of a map;

identifying, by the system, one or more settlements represented within the area of the map, wherein the one or more settlements represented within the area of the map comprise a first settlement and a second settlement;

determining, by the system, zoom levels for each of the one or more settlements based at least in part on settlement properties associated with the one or more settlements, the settlement properties including user device position traces for each of the one or more settlements, the user device position traces indicating information related to user devices located within a corresponding settlement;

determining, by the system, labels for a portion of the one or more settlements to be displayed within the area of the map based at least in part on the zoom level for the display and the zoom levels for each of the one or more settlements;

causing, by the system, the area of the map to be displayed with the labels for the portion of the one or more settlements

determining, by the system, that the first settlement and the second settlement are assigned a same zoom level;

determining, by the system, that the second settlement is within a de-densify distance of the first settlement;

comparing, by the system based at least in part on the second settlement being within the de-densify distance of the first settlement, a first score for the first settlement and a second score for the second settlement; and

demoting, by the system, one of the first settlement or the second settlement to another zoom level based on comparing the first score and the second score.

2 . The method of claim 1 , wherein determining the zoom levels for each of the one or more settlements comprises:

determining cities from the one or more settlements; and

determining zoom levels for the cities based at least in part on geo-search popularities for the cities, and at least one of populations of the cities or curation information for the cities.

3 . The method of claim 2 , wherein determining the zoom levels for the cities comprises:

identifying a first weighting for the geo-search popularities for the cities, and at least one weighting corresponding to the at least one of the populations of the cities or the curation information for the cities, wherein the first weighting and the at least one weighting are predefined;

applying the first weighting to the geo-search popularities and applying the at least one weighting to the at least one of the populations of the cities or the curation information for the cities to generate scores for each of the cities; and

determining the zoom levels for the cities based at least in part on the scores.

4 . The method of claim 1 , wherein determining the zoom levels for each of the one or more settlements comprises:

determining neighborhoods from the one or more settlements; and

determining zoom levels for the neighborhoods based at least in part on geo-search popularities for the neighborhoods, and at least one of neighborhood areas for the neighborhoods, numbers of address points for the neighborhoods, or numbers of points of interests for the neighborhoods.

5 . The method of claim 4 , wherein determining the zoom levels for the neighborhoods comprises:

identifying a first weighting for the geo-search popularities for the neighborhoods, and at least one weighting corresponding to the at least one of the neighborhood areas, the user device position traces, the numbers of address points, or the numbers of points of interests, wherein the first weighting and the at least one weighting are predefined;

applying the first weighting to the geo-search popularities for the neighborhoods and applying the at least one weighting to the at least one of the neighborhood areas, the user device position traces, the numbers of address points, or the numbers of points of interests to generate scores for each of the neighborhoods; and

determining the zoom levels for the neighborhoods based at least in part on the scores.

6 . The method of claim 1 , further comprising:

determining, by the system, a number of labels for display based on the zoom level, wherein the labels for the portion of the one or more settlements are determined based on the number of labels for display.

7 . The method of claim 6 , wherein determining the number of labels for display comprises:

determining a density factor for the labels; and

determining a base number of labels, wherein the number of labels for display are determined based at least in part on the density factor, the base number of labels, and the zoom level for display of the area of the map.

8 . The method of claim 1 , wherein determining the zoom levels for each of the one or more settlements comprises:

dividing the one or more settlements into two or more clusters, wherein each of the two or more clusters comprises portions of the one or more settlements; and

normalizing the two or more clusters, wherein the zoom levels for each of the one or more settlements are based at least in part on the normalized two or more clusters.

9 . The method of claim 1 , wherein the first score is pre-defined to be a high score for display at the zoom level.

10 . One or more non-transitory computer-readable media having instructions thereon, wherein the instructions, when executed by one or more processors, cause a system to:

determine a zoom level for display of an area of a map;

identify one or more settlements represented within the area of the map;

determine zoom levels for each of the one or more settlements based at least in part on settlement properties associated with the one or more settlements, the settlement properties including user device position traces for each of the one or more settlements, the user device position traces indicating information related to user devices located within a corresponding settlement, wherein to determine the zoom levels for each of the one or more settlements comprises to:

divide the one or more settlements into two or more clusters, wherein each of the two or more clusters comprises portions of the one or more settlements; and

normalize the two or more clusters, wherein the zoom levels for each of the one or more settlements are based at least in part on the normalized two or more clusters;

determine labels for a portion of the one or more settlements to be displayed within the area of the map based at least in part on the zoom level for the display and the zoom levels for each of the one or more settlements; and

cause the area of the map to be displayed with the labels for the portion of the one or more settlements.

11 . The one or more non-transitory computer-readable media of claim 10 , wherein to determine the zoom levels for each of the one or more settlements comprises to:

determine cities from the one or more settlements; and

determine zoom levels for the cities based at least in part on geo-search popularities for the cities, and at least one of populations of the cities or curation information for the cities.

12 . The one or more non-transitory computer-readable media of claim 11 , wherein to determine the zoom levels for the cities comprises to:

identify a first weighting for the geo-search popularities for the cities, and at least one weighting corresponding to the at least one of the populations of the cities or the curation information for the cities, wherein the first weighting and the at least one weighting are predefined;

apply the first weighting to the geo-search popularities and applying the at least one weighting to the at least one of the populations of the cities or the curation information for the cities to generate scores for each of the cities; and

determine the zoom levels for the cities based at least in part on the scores.

13 . The one or more non-transitory computer-readable media of claim 10 , wherein the one or more settlements comprise one or more cities or one or more neighborhoods.

14 . The one or more non-transitory computer-readable media of claim 10 , wherein the settlement properties include a geo-search popularity property, an area property, a number of address points property, or a number of points of interest property.

15 . The one or more non-transitory computer-readable media of claim 10 , wherein the settlement properties are associated with user device activity data in the one or more settlements.

16 . A system, comprising:

memory to store labels of one or more settlements; and

one or more processors coupled to the memory, the one or more processors to:

determine a zoom level for display of an area of a map;

identify the one or more settlements represented within the area of the map;

determine zoom levels for each of the one or more settlements based at least in part on settlement properties associated with the one or more settlements, the settlement properties including user device position traces for each of the one or more settlements, the user device position traces indicating information related to user devices located within a corresponding settlement, wherein to determine the zoom levels for each of the one or more settlements comprises to:

divide the one or more settlements into two or more clusters, wherein each of the two or more clusters comprises portions of the one or more settlements; and

normalize the two or more clusters, wherein the zoom levels for each of the one or more settlements are based at least in part on the normalized two or more clusters;

determine labels for a portion of the one or more settlements to be displayed within the area of the map based at least in part on the zoom level for the display and the zoom levels for each of the one or more settlements; and

cause the area of the map to be displayed with the labels for the portion of the one or more settlements.

17 . The system of claim 16 , wherein the one or more processors are further to:

determine a number of labels for display based on the zoom level, wherein the labels for the portion of the one or more settlements are determined based on the number of labels for display.

18 . The system of claim 17 , wherein to determine the number of labels for display comprises to:

determine a density factor for the labels; and

determine a base number of labels, wherein the numbers of labels for display are determined based at least in part on the density factor, the base number of labels, and the zoom level for display of the area of the map.