Tiles Map

Tiles Map

The application demonstrates maps with raster tiles.

RU | EN

Tiles Map

Description

This application demonstrates a solution for interactive maps in Flutter, using a combination of the libraries flutter_map and flutter_map_marker_cluster. It supports:

  • Marker clustering for easy visualization of a large number of points: markers are automatically clustered when zoomed, improving map readability.
  • Offline mode thanks to tile caching: downloaded map segments are saved locally, speeding up re-downloads and allowing you to work without internet.
  • Customization - supports custom markers, cluster styles and map themes.
  • Dynamic data loading with error handling (including automatic update of access tokens in case of 403 errors).

OpenStreetMap, Mapbox and Yandex Maps are available by default (you need api_key, which you can get by writing to support@yandex-team.ru). Such data as url, token and other necessary variables to form a correct query can be found in the documentation of the cards used.

In the application, you can add a marker by tapping on the screen, and when you tap on it again, you can display its coordinates.

The program can be used as a basis for geoservices and logistic systems work with large data sets and stability in conditions of weak connection.

Table of Contents

Build features

Go to the directory with the application, first update the dependencies:

flutter-aurora pub get

Start build:

flutter-aurora run

Branch info

Application versions conform to the branch naming convention

Install and launch

Install

The application needs to have Internet permission to run. This permission is set in the .desktop file.

Launch

After starting the application you will have three options for loading maps, the variables for them are set in the .env file. This is for demonstration purposes, for production you should worry about loading such variables in another way.

Screenshots

Main page OSM map Mapbox map Mapbox map cluster Error page

Project Structure

The project has a standard application structure based on Dart and Flutter for Aurora OS.

  • assets the directory contains the application resources
  • aurora the directory contains C++ source code and resources needed for installation.
  • lib the directory contains the source code for the Dart plugin.
    • components the directory contains components for widgets.
    • pages the directory contains application pages.
    • utils the directory contains additional utilities.
    • main.dart the file is the entry point to the application.
  • pubspec.yaml the file describes the dependencies and settings of the plugin name.

Terms of Use and Participation in Development

The source code of the project is provided under license, which allows to use it in third-party applications.

To participate in the development of the project, please read the member agreement. If you plan to submit your own source code for inclusion in the project, you will need to accept the CLA terms and conditions.

Participant information is listed in the AUTHORS file.

The Code of Conduct is the current set of rules of the Open Mobile Platform Company, which informs about the expectations for interaction between community members when communicating and working on projects.