map_navigation_utils 0.0.3 copy "map_navigation_utils: ^0.0.3" to clipboard
map_navigation_utils: ^0.0.3 copied to clipboard

A Flutter package that provides smooth Google Maps marker animation, polyline decoding, and distance/bearing calculation utilities for navigation apps.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:map_navigation_utils/map_navigation_utils.dart';

void main() => runApp(const ExampleApp());

class ExampleApp extends StatefulWidget {
  const ExampleApp({Key? key}) : super(key: key);

  @override
  State<ExampleApp> createState() => _ExampleAppState();
}

class _ExampleAppState extends State<ExampleApp> {
  GoogleMapController? mapController;
  Marker marker = const Marker(markerId: MarkerId("car"), position: LatLng(26.9124, 75.7873));

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text("Map Navigation Utils Example")),
        body: GoogleMap(
          initialCameraPosition: const CameraPosition(
            target: LatLng(26.9124, 75.7873),
            zoom: 15,
          ),
          markers: {marker},
          onMapCreated: (c) => mapController = c,
        ),
        floatingActionButton: FloatingActionButton(
          child: const Icon(Icons.directions),
          onPressed: () async {
            LatLng from = marker.position;
            LatLng to = const LatLng(26.9226, 75.7873);

            MarkerAnimator.animateMarker(from: from, to: to).listen((position) {
              setState(() {
                marker = marker.copyWith(positionParam: position);
              });
            });

            double distance = GeoUtils.distanceInMeters(
                from.latitude, from.longitude, to.latitude, to.longitude);
            double angle = GeoUtils.bearing(
                from.latitude, from.longitude, to.latitude, to.longitude);

            print("Distance: $distance meters");
            print("Bearing: $angle°");
          },
        ),
      ),
    );
  }
}
2
likes
140
points
9
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package that provides smooth Google Maps marker animation, polyline decoding, and distance/bearing calculation utilities for navigation apps.

Homepage

Documentation

API reference

License

unknown (license)

Dependencies

flutter, google_maps_flutter

More

Packages that depend on map_navigation_utils