Ferramenta de mapas - utilitários de medições geográficas - área de polígono, distância entre pontos, rumo e deslocamento entre pontos (porta de SphericalUtil, PolyUtil do `android-maps-utils`).
Orientação gerada a partir de informações públicas. Apenas para referência.
maps_toolkit é um pacote Flutter/Dart que fornece utilitários essenciais de geoespacial para trabalhar com mapas. Ele oferece ferramentas para calcular a área de polígonos, calcular distâncias entre pontos geográficos e determinar rumo e deslocamento entre coordenadas — refletindo funcionalidades da biblioteca Android Maps Utils. Projetado para uso multiplataforma, ele suporta Android, iOS, Web, macOS, Windows e Linux. O pacote simplifica cálculos geográficos complexos, tornando-o ideal para aplicações baseadas em localização que exigem medições precisas e análise espacial.
Casos de uso
Calculando áreas de polígonos em mapas
Medir distâncias entre duas coordenadas
Determinar a direção de cabeceira entre pontos
Computando deslocamentos de coordenadas
Visualização de dados geoespaciais
Planejamento e análise de rotas
Principais recursos
Cálculo de área de polígono
Cálculo de distância e rumo
Ferramentas de deslocamento de coordenadas
Compatibilidade multiplataforma
Leve e fácil de integrar
Port de Android Maps Utils
Indicado para
Aplicações baseadas em mapas
Funcionalidades baseadas em localização
Projetos relacionados a GIS
Ferramentas de navegação e roteamento
Sistemas de rastreamento em tempo real
análise espacial
Considerações
Requer entradas válidas de latitude e longitude
Nenhuma renderização de mapa embutida
Depende de cálculos geodésicos precisos
Não adequado para modelagem de terreno em grande escala
Melhor usado com widgets de mapa, como o google_maps_flutter
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
maps_toolkit
A library for area, distance, heading measurements (spherical_util.dart if port from android-maps-utils).
Getting Started
In your dart/flutter project add the dependency:
dependencies:...maps_toolkit:^3.0.0
A simple usage example:
import'package:maps_toolkit/maps_toolkit.dart';
main() {
val distanceBetweenPoints = SphericalUtil.computeDistanceBetween(
LatLng(51.5073509, -0.1277583),
LatLng(48.856614, 2.3522219)
);
final p1 = LatLng(45.153474463955796, 39.33852195739747);
final p2 = LatLng(45.153474463955796, 39.33972358703614);
final p3 = LatLng(45.15252112936569, 39.33972358703614);
final p4 = LatLng(45.1525022138355, 39.3385460972786);
val areaInSquareMeters = SphericalUtil.computeArea([p1, p2, p3, p4, p1]);
}
Usage with Google Maps package (specify a prefix for an import):
import'package:maps_toolkit/maps_toolkit.dart'as mp;
import'package:google_maps/google_maps.dart';
import'package:test/test.dart';
voidmain() {
final pointFromToolkit = mp.LatLng(90, 0);
final pointFromGoogleMap = LatLng(90, 0);
mp.SphericalUtil.computeAngleBetween(pointFromToolkit, pointFromToolkit);
}
List of functions
SphericalUtil.computeArea - calculate the area of a closed path on Earth.
SphericalUtil.computeDistanceBetween - calculate the distance between two points, in meters.
SphericalUtil.computeHeading - calculate the heading from one point to another point.
SphericalUtil.computeLength - calculate the length of the given path, in meters, on Earth.
SphericalUtil.computeOffset - calculate the point resulting from moving a distance from an origin in the specified heading (expressed in degrees clockwise from north).
SphericalUtil.computeOffsetOrigin - calculate the location of origin when provided with a point destination, meters travelled and original heading.
SphericalUtil.computeSignedArea - calculate the signed area of a closed path on Earth.
SphericalUtil.interpolate - calculate the point which lies the given fraction of the way between the origin and the destination.
PolygonUtil.containsLocation - computes whether the given point lies inside the specified polygon.
PolygonUtil.isLocationOnEdge - computes whether the given point lies on or near the edge of a polygon, within a specified tolerance in meters.
PolygonUtil.isLocationOnPath - computes whether the given point lies on or near a polyline, within a specified tolerance in meters.
PolygonUtil.locationIndexOnPath - computes whether (and where) a given point lies on or near a polyline, within a specified tolerance.
PolygonUtil.locationIndexOnEdgeOrPath - computes whether (and where) a given point lies on or near a polyline, within a specified tolerance.
PolygonUtil.simplify - simplifies the given poly (polyline or polygon) using the Douglas-Peucker decimation algorithm.
PolygonUtil.isClosedPolygon - returns true if the provided list of points is a closed polygon.
PolygonUtil.distanceToLine - computes the distance on the sphere between the point p and the line segment start to end.
PolygonUtil.decode - decodes an encoded path string into a sequence of LatLngs.
PolygonUtil.encode - encodes a sequence of LatLngs into an encoded path string.
Features and bugs
Please file feature requests and bugs at the issue tracker.