Skip to content

Commit cf5b0a7

Browse files
committed
feat(all): add containsCoordinate() static method to Projection class
1 parent 3d1ef61 commit cf5b0a7

File tree

4 files changed

+10
-0
lines changed

4 files changed

+10
-0
lines changed

src/map-view-common.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,7 @@ export class UISettingsBase implements UISettings {
423423

424424
export abstract class ProjectionBase implements Projection {
425425
public visibleRegion: VisibleRegion;
426+
public abstract containsCoordinate(position: Position): Boolean;
426427
public abstract fromScreenLocation(point: Point): Position;
427428
public abstract toScreenLocation(position: Position): Point;
428429
public ios: any; /* GMSProjection */

src/map-view.android.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,10 @@ export class Projection extends ProjectionBase {
608608
return new VisibleRegion(this.android.getVisibleRegion());
609609
}
610610

611+
containsCoordinate(position: Position): Boolean {
612+
return this.android.getVisibleRegion().latLngBounds.contains(position.android);
613+
}
614+
611615
fromScreenLocation(point: Point) {
612616
var latLng = this.android.fromScreenLocation(new android.graphics.Point(point.x, point.y));
613617
return new Position(latLng);

src/map-view.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ export class UISettings {
128128

129129
export class Projection {
130130
public visibleRegion: VisibleRegion;
131+
public containsCoordinate(position: Position): Boolean;
131132
public fromScreenLocation(point: Point): Position;
132133
public toScreenLocation(position: Position): Point;
133134
public ios: any; /* GMSProjection */

src/map-view.ios.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,10 @@ export class Projection extends ProjectionBase {
560560
return new VisibleRegion(this.ios.visibleRegion());
561561
}
562562

563+
containsCoordinate(position: Position): Boolean {
564+
return this.ios.containsCoordinate(position.ios);
565+
}
566+
563567
fromScreenLocation(point: Point) {
564568
var location = this.ios.coordinateForPoint(CGPointMake(point.x, point.y));
565569
return new Position(location);

0 commit comments

Comments
 (0)