FLUTTER ECOSYSTEM

ayyshim/google_map_polyutil

ayyshim/google_map_polyutil open-source repository details.

google_map_polyutil のプロジェクト画像
Stars
8
Forks
6
最終プッシュ(UTC)
2021/01/13
プロジェクト状態
公開中
Ashim Upadhaya GitHub avatar
GITHUB User

Ashim Upadhaya ↗

It's a new day with same old habit to code..

@Nivasa-InnovationKathmandu, Nepal
言語DartJavaRubySwiftObjective-C

技術トピック

このリポジトリが公開するパッケージ

使用している依存関係

依存関係一覧 4 件

元の README

以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。

README を開く / 閉じる

google_map_polyutil

Dart bridge between native google map utility class PolyUtil and your application.

Now you can use all PolyUtil methods that are available in google map utility class PolyUtil.

Usage

Import package:google_map_polyutil/google_map_polyutil.dart and then you are all set to call all it's static methods.

Methods available

  • containsLocation [Future] : Computes whether the given point lies inside the specified polygon.
  • decode [Future<List>] : Decodes an encoded path string into a sequence of LatLngs.
  • distanceToLine [Future] : Computes the distance on the sphere between the point p and the line segment start to end.
  • encode [Future] : Encodes a sequence of LatLngs into an encoded path string.
  • isClosedPolygon [Future] : Returns true if the provided list of points is a closed polygon (i.e., the first and last points are the same), and false if it is not.
  • isLocationOnEdge [Future] : Computes whether the given point lies on or near the edge of a polygon, within a specified tolerance in meters.
  • isLocationOnPath [Future] : Computes whether the given point lies on or near a polyline, within a specified tolerance in meters.
  • simplify Future<List> : Simplifies the given poly (polyline or polygon) using the Douglas-Peucker decimation algorithm.

Example

// Let's prepare dummy arguments.
List<LatLng> paths = [];
paths.add(LatLng(0,0));
paths.add(LatLng(0,1));
paths.add(LatLng(0,2));
paths.add(LatLng(0,4));

// Coordinate you want to check if it lies within or near path.
LatLng point = LatLng(0, 3);

String encodedString = "???_ibE?_seK?_ibE";
containsLocation
GoogleMapPolyUtil.containsLocation(
	point: point,
    polygon: paths
).then((result) => print(result));
decode
GoogleMapPolyUtil.decode(
	encodedPath: encodedPath
).then((result) => print(result));
distanceToLine
GoogleMapPolyUtil.distanceToLine(
	point: LatLng(0, 0),
    start: LatLng(0, 0),
    end: LatLng(0, 8)
).then((result) => print(result));
encode
GoogleMapPolyUtil.encode(
	path: paths
).then((result) => print(result));
isClosedPolygon
GoogleMapPolyUtil.isClosedPolygon(
	poly: path,
    polygon: paths
).then((result) => print(result));
isLocationOnEdge
GoogleMapPolyUtil.isLocationOnEdge(
	point: point,
    polygon: paths
).then((result) => print(result));
isLocationOnPath
GoogleMapPolyUtil.isLocationOnEdge(
	point: point,
    polygon: paths
).then((result) => print(result));
simplify
GoogleMapPolyUtil.simplify(
	poly: paths,
    tolerance: 100
).then((result) => print(result));

Author

Ashim Upadhaya

Note : This plugin can only be used for android application. iOS support in not available yet.