Indoor positioning and navigation

for Android


WiFiLine is a navigation software that utilizes special maps. Some demo maps are available for downloading from the server just within the application.

WiFiLine does also allow you to create and edit custom navigation maps, analyze WiFi signals, provide context information about map objects, save and share maps as stand-alone files.

A WiFiLine map is an XML file accompanied with one or more SVG images. Images are floor plans of the place, while the XML-file contains all technical data required for positioning by WiFi signals at that place.

On most its screens WiFiLine utilizes context menus - just perform a long touch to open it.

Main Principles

Main screen of WiFiLine does normally show a map of currently selected place. Otherwise, if a place is not selected, you'll see the button Manage places to download a map from the server or select a place from a map on your local disk. The map can be panned and zoomed as you need.

The app supports 3 different modes of operation (chosen in the Settings panel, see below):

  • Scan and Edit
  • Location
  • Spot signals

Depending from the mode, a short tap on the map may perform different actions.

WiFiLine Main Screen: location mode

While in the Location mode first tap starts and second tap stops location process. While the program is locating you, the blinking red and green status message "Search" is displayed in the left bottom corner of the screen. When the processed is paused, the message is gray. Current found location is shown as a green bullet inside a light-green circle. In a properly attributed map the circle corresponds to approximately 10m radius area. Blue and red sectors point to North and South correspondingly. If the map properties include information about geographical bearing (azimuth) a green sector is shown additionally, which denotes user's viewing direction.

WiFiLine Main Screen: scanning mode

While in the Scan and Edit mode taps control WiFi scanning. If continuous scanning is enabled (see below) first tap starts and second tap stops the process. Otherwise, a tap starts a predefined number of scans.

In the Spot Signals mode a tap allows you to switch to the Scan and edit mode upon confirmation.

At any time except for the moments when WiFi scanning is in progress you can open the Settings panel by swiping from the left side of the screen.

At any time except for the moments when WiFi scanning is in progress you can open a panel with additional information by swiping from the right side of the screen. The contents of the panel depends from currently selected mode:

  • Scan and Edit - a list of all points where WiFi measurements took place
  • Location - search dialog
  • Spot signals - a list of all discovered hotspots

Main screen context menu

The context menu of the main screen contains the following items:

  • Full screen checkbox - enables/disables fullscreen view of the map
  • Undo (only in the Scan and Edit mode) - drops scanning data acquired during previous scan (a single point or a section of points depending from the settings if continuous scanning is disabled or enabled)
  • Reset location (only in the Location mode) - drops information about last detected user location
  • Floors (only if there are more than 1 floor in the map) - shows a list of floors to switch to
  • About - shows a dialog with information about the application
More in the blog on:


Swipe from the left-side edge of a map to open the Settings panel. The settings are:

  • Map mode - one of the 3 abovementioned modes of operation
  • Continuous navigation checkbox - if enabled, user location is detected continuously and infinitely after a tap, if disabled - a tap runs a single location process and then idles until next tap
  • Number of scans - number of WiFi scanning cycles to run in every point before storing the acquired data into the map (in the Scan and edit mode) or passing to locating algorithm (in the Location mode); averaging WiFi signals may improve positioning quality; when the number is equal to 1, continuous scanning mode is enabled.
  • Neighborhood - either number of meters (in the Scan and edit mode) or number of points (in the Location mode); it's used during automatic linking of map points by the command Generate neighbors and as smooth motion radius (see below)
  • Location algorithm - one of the following location methods:
    • Minimal fingerprint
    • Extended fingerprint
    • Synthetic probability
    • Neural network
    • Naive multiplier
  • Smooth motion checkbox - if enabled, changes in current location can not exceed the number of points specified in Neighborhood
  • Select - opens a subpanel for map selection

WiFiLine settings

The Places subpanel lists all installed maps - tap any of them to open the map in the app. Currently selected map is marked by checkbox sign. To manage maps in the Manage Places dialog, tap corresponding item. Tap Back to Settings to return the the Settings panel.

WiFiLine manage maps of places

Searching for objects on maps

Swipe from the right-side edge of the map (while in the Location mode) to open the Search panel.

Searching for objects on WiFiLine maps

Search screen provides you with an editbox to enter a search query and a dropdown list of categories. Start typing a query into the editbox, and you'll see a list of suggestions, built from the map content matching your query. Tap a suggested item to start searching, and you'll see results - object names, categories, and floors where they are located.

While using the dropdown list of categories, tap one of them to get results containing all objects marked by this category.

Shortest path for found objects on WiFiLine maps

To highlight found objects on map, touch the button Show on Map. The objects are displayed in light spheres, as though pointed by spotlights. If your current location is known tha app does also build an optimal path through all found objects and shows it on the map. The path is shown as a gray line. If the path passes through several floors you'll see directions where to change the floor.

Please note, that if a map contains only visible texts used as object names, searching by category is not possible. In such maps, context search is performed through object names only, and category list is empty. A map can support the extended search features, if it contains a metadata about categories and object descriptions (they are not shown on the map), which become searchable through the context search editbox. Read more on how to create a map with metadata on the Specifications page.

More in the blog on:

Managing Maps of Places

In the Manage Places screen there are 3 tabs: Local store, Server store, and Export.

New maps can be loaded from local disk on the 1-st tab or downloaded from the server on the 2-nd tab. When in the Local store, the following actions are available in the context menu:

WiFi map place details
  • Add new place - opens local file browser to choose a map file to load
  • Sort by - sorts the list of maps by name, proximity to user's current GPS location, or date
  • Delete place - removes touched map from the application

When you load a new map from a local file it can be an almost empty XML-template without WiFi data. WiFi data should be then obtained and added into the map during scanning process at the place.

By tapping on a map in the list of local maps you open a dialog with this map's properties and floorplan thumbnails. You may press the Select button to activate the map.

The Export tab provides means for saving map into files in internal program storage or in other external place, making it available for editing in a text-editor or uploading to the server.

WiFiLine export

The Erase button wipes out all WiFi data from current map but leaves all its properties and images intact.

More in the blog on:

Searching for maps on the server

Searching for WiFiLine maps on the server

While on the Server store tab, you can search maps on the server.

The options are:

  • search by current GPS location of the user (if it's known) - maps around the location go first
  • search by name of a place - starts a context search by any fragment of a name
  • search by ID of a place - looks for geocodes, specified in maps, for example US, US.NY, RU, RU.MM, etc.

If you tap an item in the search result list, the application asks your confirmation to download the map.

A newly downloaded map is shown in your Local store tab with green background. You can tap any item in your local store to view details about the place. If you then press Select button in the Place dialog, the map becomes selected, and is displayed at the main screen, ready for further positioning or scanning operations.

Creating WiFi maps

While in the Scan and Edit mode, single tap on the map starts WiFi scanning. You should tap the map approximately on the point which corresponds to your actual physical location.

As a result, a new point is added into the list of points (see Inspection section below) and displayed on the map as red bullet. All other existing points are displayed as blue bullets.

If continuous scanning is disabled (Number of scans in the Settings is set to a value larger than 1), new point will have the predefined number of subscans. If continuous scannning is enabled (Number of scans is 1) every new point will have only 1 scan but the number of new points is usually large because they are generated infinitely until you stop scanning by second tap. You should walk in a straight line with a constant pace between the first and the last tap, and all new points will be placed on the straight line on the map.

For the maps which are built using continuous scanning it's necessary to invoke a special postprocessings command - Generate subscans (in addition to Generate neighbors).

Using a context menu in the list of points, one can delete selected point, generate neighbors, or delete a neighbor (a link between points, not a point).

Neighbors are points located near each other and which can be reached one from another. The points can have small distance between them, yet be unreachable in both or one direction, if, for example, there is a wall between them, or a uni-directional escalator. The application can automatically generate neighbors (create links between points) for all points which are at most in 20m each from another. Due to the possibility of abovementioned special cases (walls, escalators, etc.), the automatic neighbors should be reviewed by a human. Neighbors are bound by gray lines on the map.

Inspecting WiFi maps

WiFiLine allows you to view and analyze WiFi data in a map using a drawer pulled out from right side of the screen by swipe gesture.

In the Scan and edit mode the panel contains an expandable list of scanning points and the following context menu.

  • Delete point - removes selected point
  • Generate neighbors - generates new links between points using current setting of Neighborhood (in meters)
  • Generate subscans - generates additional measurements in every point using neighborhood points

WiFiLine measurements

Tap a point to expand it with detected hotspots. Tap a hotspot inside the point to see WiFi signal distribution across predefined number of measurements (subscans).

WiFiLine hotspots

In the Spot signals mode the right-side panel contains a list of all discovered hotspots.

Inspecting WiFi signals in WiFiLine maps

User should select a hotspot from the list to get graphical representation of the hotspot signal distribution over the map.

A tap on a hotspot brings the specially decorated map visualizing signal strength of this spot in different points (you may have to choose appropriate floor).

Context menu in the panel allows you to delete selected hotspot (its signals are removed from all points).

Previous version

If you experience some problems with latest WiFiLine release you can download WiFiLine Editor 1.0.18 from Google Play.

Google Play

You can view any of the published here screenshots in higher resolution by clicking them.
Please visit WiFiLine blog to find more info about latest news and features of the program.