Claims
- 1. A computer-readable media having thereon a data structure that represents a location, the data structure comprising the following:
a first data field that represents at least two geolocation coordinates for the location; and a second data field that represents a fixed entity approximated by the geolocation coordinates; and a third data field that represents a map view scale appropriate for rendering a map that includes the location.
- 2. A computer-readable media in accordance with claim 1, wherein the second data field comprises an address approximated by the geolocation coordinates.
- 3. A computer-readable media in accordance with claim 1, wherein the second data field comprises a geographic entity approximated by the geolocation coordinates.
- 4. A computer-readable media in accordance with claim 3, further comprising the following:
a fourth field identifying a data source for the geographic entity.
- 5. A computer-readable media in accordance with claim 3, wherein the geographic entity is a country.
- 6. A computer-readable media in accordance with claim 3, wherein the geographic entity is a political segment of a country.
- 7. A computer-readable media in accordance with claim 1, wherein the computer-readable media is a physical memory media.
- 8. A computer-readable media in accordance with claim 1, wherein the data structure is represented using XML.
- 9. A method for communicating location information using a standardized location data structure for both providing location information and receiving location information, the method comprising the following:
an act of accessing an instance of a location data structure, the location data structure including a plurality of fields including a first data field that represents at least two geolocation coordinates for the location, and a second data field that represents a fixed entity approximated by the geolocation coordinates; an act of populating data into at least one of the plurality of fields; an act of passing the location data structure to a map service; and an act of receiving from the map service the location data structure, wherein data for at least one of the plurality of data fields included in the location data structure has been populated or changed in the location data structure as received as compared to the location data structure as passed to the map service.
- 10. A method in accordance with claim 9, wherein the plurality of fields includes a third data field that represents a map view scale appropriate for rendering a map that includes the location.
- 11. A method in accordance with claim 9, wherein the second data field comprises an address approximated by the geolocation coordinates.
- 12. A method in accordance with claim 9, wherein the second data field comprises a geographic entity approximated by the geolocation coordinates.
- 13. A method in accordance with claim 9, wherein the act of passing the location data structure to a map service comprises an act of sending the data structure to a map service in a different network location.
- 14. A method in accordance with claim 9, wherein the act of passing the location data structure to a map service comprises an act of passing the location data structure to a map service on the same local computing system as a computing system that performed the act of accessing the location data structure and the act of populating data into at least one of the plurality of fields.
- 15. A method for communicating location information using a standardized location data structure for both providing location information and receiving location information, the method comprising the following:
an act of receiving an instance of a location data structure from a requestor, the location data structure including a plurality of fields including a first data field that represents at least two geolocation coordinates for the location, and a second data field that represents a fixed entity approximated by the geolocation coordinates, at least one of the plurality of fields being populated; an act of adding or changing data in the location data structure; an act of passing the location data structure back to the requestor with the added or changed data.
- 16. A method in accordance with claim 15, wherein the act of adding or changing data in the location data structure comprises the following:
an act of adding or changing data in a third data field that represents a map view scale appropriate for rendering a map that includes the location.
- 17. In a computing system that is capable of processing a map view, a method for processing the map view using a map view data structure that contains sufficient information to derive a plurality of independent descriptions of a map view, a method for using one of the descriptions to process the map view, the method comprising the following:
an act of accessing the map view data structure; an act of identifying a function that is to be performed on the map view represented by the plurality of independent descriptions of the map view; an act of selecting an appropriate one of the plurality of independent descriptions of the map view for use when performing the identified function; and an act of performing the identified function using the selected description of the map view.
- 18. A method in accordance with claim 17, wherein the act of accessing the map view data structure from a requesting computing system that requests the identified function be performed on the map view.
- 19. A method in accordance with claim 18, wherein the act of performing the identified function comprises an act of modifying the map view data structure, the method further comprising the following:
an act of returning the modified map view data structure to the requesting computing system.
- 20. A method in accordance with claim 17, wherein the sufficient information comprises the following:
a first data field that represents a center point of the map view; a second data field that represents a height of the map view; and a third data field that represents a width of the map view.
- 21. A method in accordance with claim 20, wherein the sufficient information is represented using XML.
- 22. A method in accordance with claim 20, wherein the sufficient information further comprises the following:
a fourth data field that represents a scale of the map view.
- 23. A method in accordance with claim 22, wherein the sufficient information further comprises the following:
a fifth data field that represents a position of a first corner of the map view.
- 24. A method in accordance with claim 23, wherein the sufficient information further comprises the following:
a sixth data field that represents a position of a second corner of the map view.
- 25. A method in accordance with claim 20, wherein the sufficient information further comprises the following:
a fourth data field that represents a position of a first corner of the map view.
- 26. A method in accordance with claim 25, wherein the sufficient information further comprises the following:
a fifth data field that represents a position of a second corner of the map view.
- 27. A method in accordance with claim 17, wherein the sufficient information comprises the following:
a first data field that represents a center point of the map view; a second data field that represents scale of the map view.
- 28. A method in accordance with claim 27, wherein the sufficient information further comprises the following:
a third data field that represents a position of a first corner of the map view.
- 29. A method in accordance with claim 28, wherein the sufficient information further comprises the following:
a fourth data field that represents a position of a second corner of the map view.
- 30. A method in accordance with claim 17, wherein the sufficient information comprises the following:
a first data field that represents a center point of the map view; a second data field that represents a position of a first corner of the map view.
- 31. A method in accordance with claim 30, wherein the sufficient information further comprises the following:
a third data field that represents a position of a second corner of the map view.
- 32. A computer program product for use in a computing system that is capable of processing a map view, the computer program product for implementing a method for processing the map view using a map view data structure that contains sufficient information to derive a plurality of independent descriptions of a map view, the method comprising the following:
an act of accessing the map view data structure; an act of identifying a function that is to be performed on the map view represented by the plurality of independent descriptions of the map view; an act of selecting an appropriate one of the plurality of independent descriptions of the map view for use when performing the identified function; and an act of performing the identified function using the selected description of the map view.
- 33. A computer program product in accordance with claim 32, wherein the one or more computer-readable media are physical memory media.
- 34. In a computing system that is capable of processing a map view, a method for processing the map view using a map view data structure that contains sufficient information to derive a plurality of independent descriptions of a map view, a method for using one of the descriptions to process the map view, the method comprising the following:
an act of accessing the map view data structure; and a step for flexibly processing the map view using a description of the map view that is appropriate for the processing to be performed.
- 35. A method in accordance with claim 34, wherein the step for flexibly processing the map view comprises the following:
an act of identifying a function that is to be performed on the map view represented by the plurality of independent descriptions of the map view; an act of selecting an appropriate one of the plurality of independent descriptions of the map view for use when performing the identified function; and an act of performing the identified function using the selected description of the map view.
- 36. A computer-readable media having thereon a data structure that represents route information, the data structure comprising the following:
a first data field that represents two locations; a second data field that is configured to represents a route between the two locations; and a third data field that indicates whether the data structure represents a request to calculate a route, a response to the request to calculate a route, or a request to render a route.
- 37. A computer-readable media in accordance with claim 36. wherein the second data field contains data that represents the route.
- 38. A computer-readable media in accordance with claim 37, wherein the data structure further comprises the following:
a fourth data field that represents options that were used to calculate the route represented in the second data field.
- 39. A computer-readable media in accordance with claim 36. wherein the second data field does not contain data that represents the route even though the second data field is configured to contain such data.
- 40. A computer-readable media in accordance with claim 37, wherein the data structure further comprises the following:
a fourth data field that represents options that are to be used to calculate the route to be populated into the second data field.
- 41. A computer-readable media in accordance with claim 36, wherein the data structure further comprises the following:
a fourth data field that is configured to contain driving instructions for any route specified in the second data field.
- 42. A computer-readable media in accordance with claim 36, wherein the data structure is represented using XML.
- 43. In a computing system capable of calculating routes between two locations in response to a request from a requesting computing system, a method for calculating the route in a manner that informs the requesting computing system of what options where used to calculate the route, the method comprising the following:
an act of receiving a request to calculate a route from a requesting computing system, the request including a routing data structure; an act of determining what options are to be used to calculate the route, wherein the options includes at least one of a snap type and a route type; an act of calculating the route using the options; an act of populating the routing data structure with the calculate route; an act of populating the routing data structure with the options; and an act of returning the routing data structure with the route and the options to the requesting computing system.
- 44. A method in accordance with claim 43, wherein the options include the route type and the route type is the quickest route.
- 45. A method in accordance with claim 43, wherein the options include the route type and the route type is the shortest route.
- 46. A method in accordance with claim 43, wherein the options include the snap type and the snap type is a road snap.
- 47. A method in accordance with claim 43, wherein the options include the snap type and the snap type is a highway or town snap type.
- 48. A method in accordance with claim 43, wherein the options include the route type and the route type is specified in the request.
- 49. A method in accordance with claim 43, wherein the options include the route type and the route type is not specified in the request.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The application claims priority to co-pending U.S. provisional patent application serial No. 60/462,058 filed Apr. 10, 2003, which application is incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60462058 |
Apr 2003 |
US |