FLUTTER ECOSYSTEM

ayyshim/google_map_polyutil

ayyshim/google_map_polyutil open-source repository details.

google_map_polyutil 프로젝트 이미지
Stars
8
Forks
6
최근 푸시(UTC)
2021. 1. 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.