/osmdroid-third-party/src/main/java/org/osmdroid/google/wrapper/v2/Projection.java
Java | 55 lines | 44 code | 11 blank | 0 comment | 2 complexity | 414aa62a8be6a7c147aa093b895593d7 MD5 | raw file
- package org.osmdroid.google.wrapper.v2;
-
- import com.google.android.gms.maps.model.LatLng;
- import com.google.android.gms.maps.model.LatLngBounds;
- import org.osmdroid.api.IGeoPoint;
- import org.osmdroid.api.IProjection;
-
- import android.graphics.Point;
-
- public class Projection implements IProjection {
-
- private final com.google.android.gms.maps.Projection mProjection;
-
- private final Point mPoint = new Point();
-
- public Projection(final com.google.android.gms.maps.Projection aProjection) {
- mProjection = aProjection;
- }
-
- @Override
- public Point toPixels(final IGeoPoint in, final Point out) {
- final LatLng latLng = new LatLng(in.getLatitude(), in.getLongitude());
- final Point point = mProjection.toScreenLocation(latLng);
- if (out != null) {
- out.x = point.x;
- out.y = point.y;
- }
- return point;
- }
-
- @Override
- public IGeoPoint fromPixels(final int x, final int y) {
- mPoint.x = x;
- mPoint.y = y;
- final LatLng latLng = mProjection.fromScreenLocation(mPoint);
- return new GeoPoint(latLng);
- }
-
- @Override
- public float metersToEquatorPixels(final float meters) {
- return 0; // TODO implement this
- }
-
- @Override
- public IGeoPoint getNorthEast() {
- final LatLngBounds bounds = mProjection.getVisibleRegion().latLngBounds;
- return new GeoPoint(bounds.northeast);
- }
-
- @Override
- public IGeoPoint getSouthWest() {
- final LatLngBounds bounds = mProjection.getVisibleRegion().latLngBounds;
- return new GeoPoint(bounds.southwest);
- }
- }