# US 9,521,522 B2 · Mobile apparatus with search function

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,521,522 B2
- Document ID: US9521522B2
- Status: Granted
- Kind: B2
- Application number: 14/626,217
- Filed: 2015-02-19
- Published: 2016-08-25
- Granted: 2016-12-13
- Earliest claimed: 2015-02-19
- Assignees: Indooratlas Oy
- Applicants: Indooratlas Oy
- Inventors: Janne Haverinen
- Web page: https://patentgrep.com/patent/US9521522B2

## CPC

- H04W 4/023: {using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds}
- G06F 16/29: Geographical information databases
- G06F 16/9537: Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
- G06F 40/279: Recognition of textual entities
- H04W 4/12: Messaging; Mailboxes; Announcements
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A mobile apparatus, a computer program for a mobile apparatus, and a method in a mobile apparatus. A string is obtained. A location associated with the string is obtained. Then, a location-based search for location-dependent data is performed on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location. Finally, at least a part of the location-dependent data is displayed on a map.

## Claims

### Claim 1

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location; and
display at least a part of the location-dependent data on a map on the display,
wherein the mobile apparatus further comprises a wireless transceiver, and the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
obtain the string from free-form text communicated as a message with the wireless transceiver.

### Claim 2 (depends on 1)

The mobile apparatus of claim 1, wherein the independent expressions are independent such that each expression causes an own location-based search.

### Claim 3 (depends on 2)

The mobile apparatus of claim 2, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
display the location-dependent data on the map on the display such that for each location-based search the location-dependent data is displayed by one of displaying the location-dependent data simultaneously for each location-based search, displaying the location-dependent data for each location-based search as selected by a user interaction.

### Claim 4 (depends on 1)

The mobile apparatus of claim 1, wherein the mobile apparatus further comprises a positioning interface, the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
obtain, with the positioning interface an own location of the mobile apparatus as the location.

### Claim 5 (depends on 4)

The mobile apparatus of claim 4, wherein the positioning interface comprises an interface to an indoor positioning system.

### Claim 6 (depends on 4)

The mobile apparatus of claim 4, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
obtain at least one other location of at least one other mobile apparatus; and
generate the location associated with the string on the basis of the own location and the at least one other location.

### Claim 7 (depends on 6)

The mobile apparatus of claim 6, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
perform the location-based search by one of such that the location-dependent data is relevant within the predetermined distance from the own location or from the at least one other location, or such that the location-dependent data is relevant within the predetermined distance from a combined area defined by the own location and the at least one other location.

### Claim 8 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
perform the location-based search such that the location-dependent data is associated with indoor locations comprising buildings.

### Claim 9 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
obtain the string from free-form text displayed on the display.

### Claim 10 (depends on 9)

The mobile apparatus of claim 9, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
obtain the location associated with the string from the free-form text.

### Claim 11 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
obtain the string from free-form text displayed in a messaging interface on the display.

### Claim 12 (depends on 11)

The mobile apparatus of claim 11, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
obtain a location of another mobile apparatus, which is either a sender or a recipient in the messaging interface, as the location associated with the string.

### Claim 13 (depends on 11)

The mobile apparatus of claim 11, wherein the messaging interface simultaneously acts as a search interface, such that the combined messaging and search interface is displayed on the display.

### Claim 14 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
obtain a location of another mobile apparatus, being either a sender or a recipient in the message, as the location associated with the string.

### Claim 15 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
obtain at least one location of at least one other mobile apparatus as the location associated with the string.

### Claim 16 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
obtain the string from free-form text mined from at least one of the following residing in the memory: a text file, an image file, a video file, an audio file, a reference to a text file, a reference to an image file, a reference to a video file, a reference to an audio file.

### Claim 17 (depends on 1)

The mobile apparatus of claim 1, wherein the string comprises at least one of the following elements residing in the memory: an image file, a video file, an audio file, a reference to an image file, a reference to a video file, a reference to an audio file, and the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
recognize one or more digital objects within the one or more elements as the independent expressions; and
perform the location-based search such that a pattern recognition search for the one or more digital objects forms at least a part of the location-based search.

### Claim 18 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
after obtaining the string, recognize automatically the one or more independent expressions within the string.

### Claim 19 (depends on 18)

The mobile apparatus of claim 18, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
recognize automatically the one or more independent expressions within the string before performing the location-based search.

### Claim 20 (depends on 18)

The mobile apparatus of claim 18, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
recognize automatically the one or more independent expressions within the string as a part of the location-based search.

### Claim 21 (depends on 18)

The mobile apparatus of claim 18, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
after recognizing the one or more expressions within the string, display the string such that the one or more independent expressions become distinguishable within the string.

### Claim 22 (depends on 18)

The mobile apparatus of claim 18, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
after displaying the string such that the one or more independent expressions become distinguishable within the string, receive a user selection of at least one of the one or more independent expressions, and perform the location-based search on the basis of the user selection.

### Claim 23 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
receive a user interaction in relation to the expression, and display the string such that the expression is marked as processed within the string.

### Claim 24 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
after obtaining the string, receive a user selection of the one or more independent expressions displayed on the display, and perform the location-based search on the basis of the user selection.

### Claim 25 (depends on 24)

The mobile apparatus of claim 24, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
if the location-based search does not find any location-dependent data as the result, receive a user interaction, which determines a user-defined location for the expression, and the user-defined location is displayed on the map as at least a part of the location-dependent data.

### Claim 26 (depends on 1)

The mobile apparatus of claim 1, wherein the mobile apparatus further comprises a wireless transceiver, and the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
perform at least a part of the location-based search by communicating with an external electronic service through the wireless transceiver.

### Claim 27 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
perform at least a part of the location-based search by interacting with a database stored in the memory.

### Claim 28 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
replace one or more independent expressions with the location-dependent data in the string displayed on the display.

### Claim 29 (depends on 28)

The mobile apparatus of claim 28, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
replace the one or more independent expressions with the location-dependent data in the string displayed on the display such that the location-dependent data comprises a plurality of alternatives, and based on a user selection one or more of the alternatives are selected and replaced.

### Claim 30 (depends on 29)

The mobile apparatus of claim 29, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
after obtaining the string, process the string as a beginning part of a word, and perform the location-based search in order to find the plurality of the alternatives, which match the beginning part of the word.

### Claim 31 (depends on 28)

The mobile apparatus of claim 28, wherein the mobile apparatus further comprises a wireless transceiver, and the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
transmit, with the wireless transceiver, the string containing the one or more expressions replaced with the location-dependent data to another mobile apparatus.

### Claim 32 (depends on 28)

The mobile apparatus of claim 28, wherein the mobile apparatus further comprises a wireless transceiver, and the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
embed additional data as a part of location-dependent data while replacing the one or more independent expressions with the location-dependent data.

### Claim 33 (depends on 32)

The mobile apparatus of claim 32, wherein the additional data comprises at least one of a link to a location in a network, a link to a file, a link to an action in a social media, an uniform resource identifier.

### Claim 34 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
display the location-dependent data relating to the expression on the map and the expression simultaneously on the display.

### Claim 35 (depends on 1)

The mobile apparatus of claim 1, wherein the expression comprises one or more words, which are selected from a predetermined vocabulary.

### Claim 36 (depends on 1)

The mobile apparatus of claim 1, wherein the mobile apparatus further comprises a database, which comprises expression-data -pairs, and the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
perform the location-based search by searching the database iteratively with each expression.

### Claim 37 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
recognize each expression within the string by identifying a list type of structure comprising expressions separated by predefined characters comprising at least one of a space, a comma, a punctuation mark, a predetermined character, a predetermined symbol.

### Claim 38 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
determine whether the expression corresponds to a reference associated with a predetermined location; and
if the expression corresponds to the reference, display the location-dependent data in the predetermined location on the map on the display.

### Claim 39 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
receive a user interaction, which determines a user-defined location for the expression, and the user-defined location is displayed on the map as at least a part of the location-dependent data.

### Claim 40 (depends on 39)

The mobile apparatus of claim 39, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
prior to receiving the user interaction, determine whether the expression corresponds to a reference associated with a predetermined location; and
if the expression does not correspond to the reference, display a query on the display, the query asking to which user-defined location the expression is associated; and
receive the user interaction as a response to the query.

### Claim 41 (depends on 39)

The mobile apparatus of claim 39, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
receive the user interaction as a drag and drop operation.

### Claim 42 (depends on 39)

The mobile apparatus of claim 39, wherein the mobile apparatus further comprises a wireless transceiver, and the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
transmit, with the wireless transceiver, information about the expression and the associated user-defined location to an external electronic service, which gathers and maintains the information in a crowd-sourcing manner, and distributes the information about the expression and the associated user-defined location to other mobile apparatuses.

### Claim 43 (depends on 1)

The mobile apparatus of claim 1, wherein the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
display the location on the map on the display; and
display a route between the location and another location defined by the location-dependent data on the map on the display.

### Claim 44 (depends on 1)

The mobile apparatus of claim 1, wherein the mobile apparatus further comprises a database, whose contents are classified into location classes, and the one or more memories and the computer program code are configured to, with the one or more processors, cause the mobile apparatus further to:
select a subset of the database such that location classes correspond to the location; and
perform the location-based search for the subset of the database with the one or more independent expressions.

### Claim 45

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location; and
display at least a part of the location-dependent data on a map,
wherein the mobile apparatus comprises a wireless transceiver, and the computer program code are configured to cause the mobile apparatus further to:
obtain the string from free-form text communicated as a message with the wireless transceiver.

### Claim 46

A method in a mobile apparatus comprising:
obtaining a string;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location; and
displaying at least a part of the location-dependent data on a map,
wherein the mobile apparatus comprises a wireless transceiver, and the computer program code are configured to cause the mobile apparatus further to:
obtain the string from free-form text communicated as a message with the wireless transceiver.

### Claim 47

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map on the display;
obtain at least one other location of at least one other mobile apparatus; and
generate the location associated with the string on the basis of the own location and the at least one other location.

### Claim 48

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map on the display;
obtain the string from free-form text displayed in a messaging interface on the display; and
obtain a location of another mobile apparatus, which is either a sender or a recipient in the messaging interface, as the location associated with the string.

### Claim 49

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map on the display; and
obtain the string from free-form text displayed in a messaging interface on the display,
wherein the messaging interface simultaneously acts as a search interface, such that the combined messaging and search interface is displayed on the display.

### Claim 50

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map on the display; and
obtain at least one location of at least one other mobile apparatus as the location associated with the string.

### Claim 51

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string, the string comprises at least one of the following elements residing in the memory: an image file, a video file, an audio file, a reference to an image file, a reference to a video file, a reference to an audio file;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map on the display;
recognize one or more digital objects within the one or more elements as the independent expressions; and
perform the location-based search such that a pattern recognition search for the one or more digital objects forms at least a part of the location-based search.

### Claim 52

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map on the display;
after obtaining the string, recognize automatically the one or more independent expressions within the string; and
after recognizing the one or more expressions within the string, display the string such that the one or more independent expressions become distinguishable within the string.

### Claim 53

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map on the display;
after obtaining the string, recognize automatically the one or more independent expressions within the string; and
after displaying the string such that the one or more independent expressions become distinguishable within the string, receive a user selection of at least one of the one or more independent expressions, and perform the location-based search on the basis of the user selection.

### Claim 54

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map on the display; and
after obtaining the string, receive a user selection of the one or more independent expressions displayed on the display, and perform the location-based search on the basis of the user selection; and
if the location-based search does not find any location-dependent data as the result, receive a user interaction, which determines a user-defined location for the expression, and the user-defined location is displayed on the map as at least a part of the location-dependent data.

### Claim 55

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map on the display; and
replace one or more independent expressions with the location-dependent data in the string displayed on the display.

### Claim 56

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map on the display;
receive a user interaction, which determines a user-defined location for the expression, and the user-defined location is displayed on the map as at least a part of the location-dependent data;
prior to receiving the user interaction, determine whether the expression corresponds to a reference associated with a predetermined location; and
if the expression does not correspond to the reference, display a query on the display, the query asking to which user-defined location the expression is associated; and
receive the user interaction as a response to the query.

### Claim 57

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map on the display;
receive a user interaction, which determines a user-defined location for the expression, and the user-defined location is displayed on the map as at least a part of the location-dependent data; and
transmit, with the wireless transceiver, information about the expression and the associated user-defined location to an external electronic service, which gathers and maintains the information in a crowd-sourcing manner, and distributes the information about the expression and the associated user-defined location to other mobile apparatuses.

### Claim 58

A mobile apparatus comprising:
a display;
one or more processors; and
one or more memories including computer program code;
a database, whose contents are classified into location classes;
the one or more memories and the computer program code configured to, with the one or more processors, cause the mobile apparatus at least to:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map on the display;
select a subset of the database such that location classes correspond to the location; and
perform the location-based search for the subset of the database with the one or more independent expressions.

### Claim 59

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map;
obtain at least one other location of at least one other mobile apparatus; and
generate the location associated with the string on the basis of the own location and the at least one other location.

### Claim 60

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map;
obtain the string from free-form text displayed in a messaging interface on the display; and
obtain a location of another mobile apparatus, which is either a sender or a recipient in the messaging interface, as the location associated with the string.

### Claim 61

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map; and
obtain the string from free-form text displayed in a messaging interface on the display,
wherein the messaging interface simultaneously acts as a search interface, such that the combined messaging and search interface is displayed on the display.

### Claim 62

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map; and
obtain at least one location of at least one other mobile apparatus as the location associated with the string.

### Claim 63

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string, the string comprises at least one of the following elements: an image file, a video file, an audio file, a reference to an image file, a reference to a video file, a reference to an audio file;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map;
recognize one or more digital objects within the one or more elements as the independent expressions; and
perform the location-based search such that a pattern recognition search for the one or more digital objects forms at least a part of the location-based search.

### Claim 64

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map;
after obtaining the string, recognize automatically the one or more independent expressions within the string; and
after recognizing the one or more expressions within the string, display the string such that the one or more independent expressions become distinguishable within the string.

### Claim 65

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map;
after obtaining the string, recognize automatically the one or more independent expressions within the string; and
after displaying the string such that the one or more independent expressions become distinguishable within the string, receive a user selection of at least one of the one or more independent expressions, and perform the location-based search on the basis of the user selection.

### Claim 66

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map;
after obtaining the string, receive a user selection of the one or more independent expressions displayed on the display, and perform the location-based search on the basis of the user selection; and
if the location-based search does not find any location-dependent data as the result, receive a user interaction, which determines a user-defined location for the expression, and the user-defined location is displayed on the map as at least a part of the location-dependent data.

### Claim 67

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map; and
replace one or more independent expressions with the location-dependent data in the string displayed on the display.

### Claim 68

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map;
receive a user interaction, which determines a user-defined location for the expression, and the user-defined location is displayed on the map as at least a part of the location-dependent data;
prior to receiving the user interaction, determine whether the expression corresponds to a reference associated with a predetermined location;
if the expression does not correspond to the reference, display a query on the display, the query asking to which user-defined location the expression is associated; and
receive the user interaction as a response to the query.

### Claim 69

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map;
receive a user interaction, which determines a user-defined location for the expression, and the user-defined location is displayed on the map as at least a part of the location-dependent data; and
transmit information about the expression and the associated user-defined location to an external electronic service, which gathers and maintains the information in a crowd-sourcing manner, and distributes the information about the expression and the associated user-defined location to other mobile apparatuses.

### Claim 70

A non-transitory computer-readable storage medium comprising a computer program comprising computer program code which, when loaded into a mobile apparatus causes the mobile apparatus to perform:
obtain a string;
obtain a location associated with the string;
perform a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
display at least a part of the location-dependent data on a map,
wherein the mobile apparatus further comprises a database, whose contents are classified into location classes, and the computer program code are configured to cause the mobile apparatus further to:
select a subset of the database such that location classes correspond to the location; and
perform the location-based search for the subset of the database with the one or more independent expressions.

### Claim 71

A method in a mobile apparatus comprising:
obtaining a string;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
displaying at least a part of the location-dependent data on a map;
obtaining at least one other location of at least one other mobile apparatus; and
generating the location associated with the string on the basis of the own location and the at least one other location.

### Claim 72

A method in a mobile apparatus comprising:
obtaining a string;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
displaying at least a part of the location-dependent data on a map;
obtaining the string from free-form text displayed in a messaging interface; and
obtaining a location of another mobile apparatus, which is either a sender or a recipient in the messaging interface, as the location associated with the string.

### Claim 73

A method in a mobile apparatus comprising:
obtaining a string;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
displaying at least a part of the location-dependent data on a map; and
obtaining the string from free-form text displayed in a messaging interface,
wherein the messaging interface simultaneously acts as a search interface, such that the combined messaging and search interface are displayed.

### Claim 74

A method in a mobile apparatus comprising:
obtaining a string;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
displaying at least a part of the location-dependent data on a map; and
obtaining at least one location of at least one other mobile apparatus as the location associated with the string.

### Claim 75

A method in a mobile apparatus comprising:
obtaining a string the string comprises at least one of the following elements: an image file, a video file, an audio file, a reference to an image file, a reference to a video file, and a reference to an audio file;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
displaying at least a part of the location-dependent data on a map;
recognizing one or more digital objects within the one or more elements as the independent expressions; and
performing the location-based search such that a pattern recognition search for the one or more digital objects forms at least a part of the location-based search.

### Claim 76

A method in a mobile apparatus comprising:
obtaining a string;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
displaying at least a part of the location-dependent data on a map;
after obtaining the string, recognizing automatically the one or more independent expressions within the string; and
after recognizing the one or more expressions within the string, displaying the string such that the one or more independent expressions become distinguishable within the string.

### Claim 77

A method in a mobile apparatus comprising:
obtaining a string;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
displaying at least a part of the location-dependent data on a map;
after obtaining the string, recognizing automatically the one or more independent expressions within the string; and
after displaying the string such that the one or more independent expressions become distinguishable within the string, receiving a user selection of at least one of the one or more independent expressions, and performing the location-based search on the basis of the user selection.

### Claim 78

A method in a mobile apparatus comprising:
obtaining a string;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
displaying at least a part of the location-dependent data on a map;
after obtaining the string, receiving a user selection of the one or more independent expressions displayed on the display, and perform the location-based search on the basis of the user selection; and
if the location-based search does not find any location-dependent data as the result, receiving a user interaction, which determines a user-defined location for the expression, and displaying the user-defined location on the map as at least a part of the location-dependent data.

### Claim 79

A method in a mobile apparatus comprising:
obtaining a string;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
displaying at least a part of the location-dependent data on a map; and
replacing one or more independent expressions with the location-dependent data in the string displayed on the display.

### Claim 80

A method in a mobile apparatus comprising:
obtaining a string;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
displaying at least a part of the location-dependent data on a map;
receiving a user interaction, which determines a user-defined location for the expression, and the user-defined location is displayed on the map as at least a part of the location-dependent data;
prior to receiving the user interaction, determining whether the expression corresponds to a reference associated with a predetermined location;
if the expression does not correspond to the reference, displaying a query, the query asking to which user-defined location the expression is associated; and
receiving the user interaction as a response to the query.

### Claim 81

A method in a mobile apparatus comprising:
obtaining a string;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
displaying at least a part of the location-dependent data on a map;
receiving a user interaction, which determines a user-defined location for the expression, and the user-defined location is displayed on the map as at least a part of the location-dependent data; and
transmiting information about the expression and the associated user-defined location to an external electronic service, which gathers and maintains the information in a crowd-sourcing manner, and distributes the information about the expression and the associated user-defined location to other mobile apparatuses.

### Claim 82

A method in a mobile apparatus, the mobile apparatus comprises a database, whose contents are classified into location classes, comprising:
obtaining a string;
obtaining a location associated with the string;
performing a location-based search for location-dependent data on the basis of the location and one or more independent expressions within the string such that the location-dependent data is relevant within a predetermined distance from the location;
displaying at least a part of the location-dependent data on a map;
selecting a subset of the database such that location classes correspond to the location; and
performing the location-based search for the subset of the database with the one or more independent expressions.
