Skip to content

The package provides Dart version of the H3 Core library, a hexagon-based geographic grid system

License

Notifications You must be signed in to change notification settings

festelo/h3_dart

Repository files navigation

Build & Test codecov License: Apache 2.0

H3 Flutter

The package allows to use Uber's H3 library directly in your Dart application

The package uses h3_ffi and h3_web under the hood.

final h3Factory = const H3Factory();
final h3 = h3Factory.load();
// Get hexagons in specified triangle.
final hexagons = h3.polyfill(
  resolution: 5,
  coordinates: [
    GeoCoord(20.4522, 54.7104),
    GeoCoord(37.6173, 55.7558),
    GeoCoord(39.7015, 47.2357),
  ],
);

There are also few methods ported from JS library Geojson2H3, to access them you should instantiate Geojson2H3 class using const Geojson2H3(h3). It uses package:geojson2h3 internally.

Setup

Mobile, Desktop

Add h3_flutter package to pubspec.yaml, import it and load, no further actions required.

import 'package:h3_flutter/h3_flutter.dart';

final h3 = const H3Factory().load();
final geojson2h3 = Geojson2H3(h3);

Web

Web version is built on top of h3-js v3.7.2, you have to import it.
Add next line to your index.html:

    <script defer src="https://unpkg.com/h3-js@3.7.2"></script>

Note, main.dart.js import should go after this line