IP Library Patent Application 11483168
Patent Application
App. No. 11/483,168

Methods and apparatus for dynamically labeling map objects in visually displayed maps of mobile communication devices

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 None
App. No.
11/483,168
Abstract

Methods and apparatus for dynamically labeling map objects for different views of a visually displayed map are disclosed. For each view of a plurality of different views of a map, a view of the map is rendered “on-the-fly” in a display. The technique is performed by retrieving map data which includes map object graphics data and map object label data; causing one or more portions of a map object (e.g. a road) to be rendered in the view of the display in accordance with the map object graphics data; and also causing a map object label (e.g. a name of the road) to be rendered in the view of the display, in accordance with the map object label data, on or along a portion of the map object between its vertice coordinates, such that a linear position of the map object label on or along the portion of the map object is different from its linear position in each of the other views of the map so that the map object label fits within the view in a continuous moving fashion from view to view. In a specific embodiment, the map object label is rendered by identifying the portion of the map object to be a longest portion of the one or more portions of the map object in the view; identifying a centerpoint of the portion identified to be the longest portion; and causing the map object label to be rendered relative to the centerpoint of the portion identified to be the longest portion.

Claims (83)

1 . A method of dynamically labeling map objects for displaying different views of a map, the method comprising the acts of:

for each view of a plurality of different views of a map, causing the view of the map to be displayed in a display by:

retrieving map data corresponding to the view of the map, the map data comprising map object graphics data and map object label data separate from the map object graphics data, the map object graphics data corresponding to at least a portion of a map object and the map object label data corresponding to a map object label associated with the map object;

causing the portion of the map object to be rendered in the view of the display in accordance with the map object graphics data; and

also causing the map object label to be rendered in the view of the display, in accordance with the map object label data, on or along the portion of the map object between its vertice coordinates, such that a linear position of the map object label on or along the portion of the map object is different from its linear position in each of the other views of the map so that the map object label is contained within the view in a continuous moving fashion from view to view.

2 . The method of claim 1 , further comprising:

identifying that the portion of the map object is a longest portion of the map object rendered in the view.

3 . The method of claim 1 , further comprising:

identifying that the portion of the map object is a longest portion of the map object rendered in the view;

identifying a centerpoint of the portion of the map object; and

wherein the act of causing the map object label to be rendered in the view of the display comprises the further act of causing the map object label to be rendered at the centerpoint of the portion of the map object.

4 . The method of claim 1 , wherein the map object comprises a road, park, river, ocean, or lake, and the map object label comprises a name of the road, the park, the river, the ocean, or the lake.

5 . The method of claim 1 , further comprising:

wherein the act of causing the map object label to be rendered comprises the further act of causing the map object label to be rendered on or along the side of the portion of the map object in accordance with a slope of the side of the portion of the map object.

6 . The method of claim 1 , further comprising:

wherein the act of causing the map object label to be rendered comprises the further act of causing the map object label to be rendered on or along the side of the portion of the map object in accordance with a varying slope of the side of the portion of the map object.

7 . The method of claim 1 , wherein the acts of causing the view to be displayed are performed in response to a trigger signal for the view of the map.

8 . The method of claim 1 , wherein the act of causing the map object label to be render comprises the further acts of:

identifying a slope of the portion of the map object;

identifying an alphanumeric character in the map object label for rendering;

retrieving a rotated alphanumeric character from the memory which corresponds to the identified alphanumeric character in the map object label and the identified slope; and

causing the rotated alphanumeric character to be rendered on or along the portion of the map.

9 . The method of claim 1 , which is embodied as a computer program product comprising a computer readable medium and computer instructions stored in the computer readable medium which are executable by one or more processors of a mobile communication device to perform the method.

10 . A mobile communication device, comprising:

a wireless transceiver;

one or more processors;

memory coupled to the one or more processors;

a user interface which includes a visual display;

the one or more processors being operative to:

for each view of a plurality of different views of a map, causing the view of the map to be displayed in the visual display by:

retrieving, from the memory, map data corresponding to the view of the map, the map data comprising map object graphics data and map object label data separate from the map object graphics data, the map object graphics data corresponding to at least a portion of a map object and the map object label data corresponding to a map object label associated with the map object;

causing the portion of the map object to be rendered in the view of the visual display in accordance with the map object graphics data; and

also causing the map object label to be rendered in the view of the visual display, in accordance with the map object label data, on or along the portion of the map object between its vertice coordinates, such that a linear position of the map object label on or along the portion of the map object is different from its linear position in each of the other views of the map so that the map object label is contained within the view in a continuous moving fashion from view to view.

11 . The mobile communication device of claim 10 , wherein the one or more processors are further operative to:

identify that the portion of the map object is a longest portion of the map object rendered in the view.

12 . The mobile communication device of claim 10 , wherein the one or more processors are further operative to:

identify that the portion of the map object is a longest portion of the map object rendered in the view;

identify a centerpoint of the portion of the map object; and

cause the map object label to be rendered in the view of the display by causing the map object label to be rendered at the centerpoint of the portion of the map object.

13 . The mobile communication device of claim 10 , wherein the map object comprises a road, park, river, ocean, or lake, and the map object label comprises a name of the road, the park, the river, the ocean, or the lake.

14 . The mobile communication device of claim 10 , wherein the one or more processors are further operative to cause the map object label to be rendered by causing the map object label to be rendered on or along the side of the portion of the map object in accordance with a slope of the side of the portion of the map object.

15 . The mobile communication device of claim 10 , wherein the one or more processors are further operative to cause the map object label to be rendered by causing the map object label to be rendered on or along the side of the portion of the map object in accordance with a varying slope of the side of the portion of the map object.

16 . The mobile communication device of claim 10 , wherein the one or more processors are further operative to cause the view to be displayed in response to a trigger signal for the view of the map.

17 . A method of dynamically labeling map objects for displaying different views of a map, the method comprising the acts of:

retrieving map data corresponding to a view of a map, the map data comprising map object graphics data and map object label data separate from the map object graphics data, the map object graphics data corresponding to one or more portions of a map object and the map object label data corresponding to a map object label associated with the map object;

causing the one or more portions of the map object to be rendered in the view of the display in accordance with the map object graphics data;

also causing the map object label to be rendered in the view of the display, in accordance with the map object label data, on or along a portion of the map object between its vertice coordinates, by:

identifying the portion of the map object to be a longest portion of the one or more portions of the map object in the view;

identifying a centerpoint of the portion identified to be the longest portion; and

causing the map object label to be rendered relative to the centerpoint of the portion identified to be the longest portion.

18 . The method of claim 17 , wherein the acts of causing the map object and the map object label to be rendered in the view is performed for each view of a plurality of different views of the map.

19 . The method of claim 17 , wherein the map object label is centered within the portion identified to be the longest portion.

20 . The method of claim 17 , wherein the map object comprises a road, park, river, ocean, or lake, and the map object label comprises a name of the road, the park, the river, the ocean, or the lake.

21 . The method of claim 17 , wherein the act of causing the map object label to be rendered comprises the further act of causing the map object label to be rendered on or along the side of the portion of the map object in accordance with a slope of the side of the portion of the map object.

22 . The method of claim 17 , wherein the act of causing the map object label to be rendered comprises the further act of causing the map object label to be rendered on or along the side of the portion of the map object in accordance with a varying slope of the side of the portion of the map object.

23 . The method of claim 17 , wherein the act of causing the map object label to be render comprises the further acts of:

identifying a slope of the portion of the map object;

identifying an alphanumeric character in the map object label for rendering;

retrieving a rotated alphanumeric character from the memory which corresponds to the identified alphanumeric character in the map object label and the identified slope; and

causing the rotated alphanumeric character to be rendered on or along the portion of the map.

24 . The method of claim 17 , which is embodied as a computer program product comprising a computer readable medium and computer instructions stored in the computer readable medium which are executable by one or more processors of a mobile communication device to perform the method.

25 . A mobile communication device, comprising:

a wireless transceiver;

one or more processors;

memory coupled to the one or more processors;

a user interface which includes a visual display;

the one or more processors being operative to:

retrieve map data corresponding to a view of a map, the map data comprising map object graphics data and map object label data separate from the map object graphics data, the map object graphics data corresponding to one or more portions of a map object and the map object label data corresponding to a map object label associated with the map object;

cause the one or more portions of the map object to be rendered in the view of the display in accordance with the map object graphics data;

also cause the map object label to be rendered in the view of the display, in accordance with the map object label data, on or along a portion of the map object between its vertice coordinates, by:

identifying the portion of the map object to be a longest portion of the one or more portions of the map object in the view;

identifying a centerpoint of the portion identified to be the longest portion; and

causing the map object label to be rendered relative to the centerpoint of the portion identified to be the longest portion.

26 . The mobile communication device of claim 25 , wherein the acts of causing the map object and the map object label to be rendered in the view is performed for each view of a plurality of different views of the map.

27 . The mobile communication device of claim 25 , wherein the map object label is centered within the portion identified to be the longest portion.

28 . The mobile communication device of claim 25 , wherein the map object comprises a road, park, river, ocean, or lake, and the map object label comprises a name of the road, the park, the river, the ocean, or the lake.

29 . The mobile communication device of claim 25 , wherein the one or more processors are operative to cause the map object label to be rendered by causing the map object label to be rendered on or along the side of the portion of the map object in accordance with a slope of the side of the portion of the map object.

30 . The mobile communication device of claim 25 , wherein the one or more processors are operative to cause the map object label to be rendered by causing the map object label to be rendered on or along the side of the portion of the map object in accordance with a varying slope of the side of the portion of the map object.

31 . The mobile communication device of claim 25 , wherein the one or more processors are further operative to cause the map object label to be rendered by:

identifying a slope of the portion of the map object;

identifying an alphanumeric character in the map object label for rendering;

retrieving a rotated alphanumeric character from the memory which corresponds to the identified alphanumeric character in the map object label and the identified slope; and

causing the rotated alphanumeric character to be rendered on or along the portion of the map.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064007/0061 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
CHANGE OF NAME Recorded Oct 17, 2013
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 031435/0538 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2006
From: KLASSEH, GERHARD DIETRICH; JOHNSON, ERIC; MAJOR, HARRY RICHMOND; BOUDREAU, JESSE JOSEPH; DEVENYI, PETER JOHN
To: RESEARCH IN MOTION LIMITED
Reel/Frame 018411/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2006
From: KLASSEN, GERHARD DIETRICH; JOHNSON, ERIC; MAJOR, HARRY RICHMOND; BOUDREAU, JESSE JOSEPH; DEVENYI, PETER JOHN
To: RESEARCH IN MOTION LIMITED
Reel/Frame 018411/0497 →