Location aware mobile-device software development
First Claim
1. A computer implemented method for location aware applications, comprising:
- defining areas of interest on a map having a size that is selectable by a user;
receiving raw location data at a location manager;
determining when an item enters, exits and moves inside one of the areas of interest;
generating a location event when it is determined that the item entered, exited, or moved inside one of the areas of interest;
providing notice of the location event from the location manager to a location aware application without the raw location data;
executing event driven code supplied by the location aware application in response to the notice of the location event received from the location manager;
receiving at a map manager from the location aware application criteria including a type of an object to display;
providing different map choices comprising separate maps to the location aware application based on the criteria;
providing a ranking of the different map choices according to their order of suitability based on each of the different map choices comparison to the received criteria for the location aware application to make a selection from;
selecting a map from a map store using the ranking of the different map choices;
sharing the selected map with another location aware application without the map manager and the other location aware application requiring raw location data; and
displaying the map using a map rendering engine, wherein the map rendering engine is selected from at least two map rendering engines.
1 Assignment
0 Petitions
Accused Products
Abstract
A development environment makes it easier to develop and use location aware software applications. Combining the currently separate and complex tasks of location information gathering, analysis, and display and making them integrated such that non-experts can build location services into their applications increases a developer'"'"'s capability to write rich location-aware software applications. A higher level programming model allows a programmer to use location information as a logical entity rather than just raw location data, such as latitude and longitude. A location data store and map data store may be accessed by different location aware applications on the device. Instead of each location application relying on its own data store, applications may share their location related information.
-
Citations
20 Claims
-
1. A computer implemented method for location aware applications, comprising:
-
defining areas of interest on a map having a size that is selectable by a user; receiving raw location data at a location manager; determining when an item enters, exits and moves inside one of the areas of interest; generating a location event when it is determined that the item entered, exited, or moved inside one of the areas of interest; providing notice of the location event from the location manager to a location aware application without the raw location data; executing event driven code supplied by the location aware application in response to the notice of the location event received from the location manager; receiving at a map manager from the location aware application criteria including a type of an object to display; providing different map choices comprising separate maps to the location aware application based on the criteria; providing a ranking of the different map choices according to their order of suitability based on each of the different map choices comparison to the received criteria for the location aware application to make a selection from; selecting a map from a map store using the ranking of the different map choices; sharing the selected map with another location aware application without the map manager and the other location aware application requiring raw location data; and displaying the map using a map rendering engine, wherein the map rendering engine is selected from at least two map rendering engines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable storage medium having computer-executable instructions for location aware applications, the instructions comprising:
-
defining areas of interest on a map having a size that is selectable by a user; receiving raw location data at a location manager; determining when an item enters, exits and moves inside one of the areas of interest; generating a location event in response to the determination; providing notice of the location event from the location manager to a location aware application without the raw location data; executing event driven code supplied by the location aware application in response to the notice of the location event received from the location manager; providing different map choices to the location aware application that are ranked according to their order of suitability for the location aware application based on received criteria received at a map manager from the location aware application including a type of an object to display to select from; selecting a map from a map store, wherein the map may be shared by other location aware applications; and displaying the map using a map rendering engine, wherein the map rendering engine is selected from at least two map rendering engines. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system, comprising:
-
a map store configured to store maps; map rendering engines that are configured to render maps; a processor and a computer-readable storage medium, wherein the processor is configured to perform actions, comprising; defining areas of interest on a map having a size that is selected by a user; receiving raw location data at a location manager; generating a location event in response to determining when an item enters, exits and moves inside one of the areas of interest; providing notice of the location event from the location manager to a location aware application without the raw location data; executing event driven code supplied by the location aware application in response to the notice of the location event received from the location manager; providing different map choices to a location aware application that are ranked according to their order of suitability based on received criteria, at a map manger from the location aware application, including a type of an object to display for the location aware application to select from; selecting a map from the map store, wherein the map may be shared by other location aware applications without the other location aware applications requiring raw location data; and displaying the map using one of the map rendering engines. - View Dependent Claims (19, 20)
-
Specification