diff --git a/include/mbgl/map/map.hpp b/include/mbgl/map/map.hpp index c41bce680..26ac154b8 100644 --- a/include/mbgl/map/map.hpp +++ b/include/mbgl/map/map.hpp @@ -150,9 +150,6 @@ public: Size getSize() const; // Projection - double getMetersPerPixelAtLatitude(double lat, double zoom) const; - ProjectedMeters projectedMetersForLatLng(const LatLng&) const; - LatLng latLngForProjectedMeters(const ProjectedMeters&) const; ScreenCoordinate pixelForLatLng(const LatLng&) const; LatLng latLngForPixel(const ScreenCoordinate&) const; diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp index e5edc1c30..a5699e33c 100755 --- a/platform/android/src/native_map_view.cpp +++ b/platform/android/src/native_map_view.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -638,23 +639,23 @@ jni::jboolean NativeMapView::isFullyLoaded(JNIEnv&) { } jni::jdouble NativeMapView::getMetersPerPixelAtLatitude(JNIEnv&, jni::jdouble lat, jni::jdouble zoom) { - return map->getMetersPerPixelAtLatitude(lat, zoom); + return mbgl::Projection::getMetersPerPixelAtLatitude(lat, zoom); } jni::Object NativeMapView::projectedMetersForLatLng(JNIEnv& env, jni::jdouble latitude, jni::jdouble longitude) { - mbgl::ProjectedMeters projectedMeters = map->projectedMetersForLatLng(mbgl::LatLng(latitude, longitude)); + mbgl::ProjectedMeters projectedMeters = mbgl::Projection::projectedMetersForLatLng(mbgl::LatLng(latitude, longitude)); return ProjectedMeters::New(env, projectedMeters.northing(), projectedMeters.easting()); } +jni::Object NativeMapView::latLngForProjectedMeters(JNIEnv& env, jdouble northing, jdouble easting) { + return LatLng::New(env, mbgl::Projection::latLngForProjectedMeters(mbgl::ProjectedMeters(northing, easting))); +} + jni::Object NativeMapView::pixelForLatLng(JNIEnv& env, jdouble latitude, jdouble longitude) { mbgl::ScreenCoordinate pixel = map->pixelForLatLng(mbgl::LatLng(latitude, longitude)); return PointF::New(env, static_cast(pixel.x), static_cast(pixel.y)); } -jni::Object NativeMapView::latLngForProjectedMeters(JNIEnv& env, jdouble northing, jdouble easting) { - return LatLng::New(env, map->latLngForProjectedMeters(mbgl::ProjectedMeters(northing, easting))); -} - jni::Object NativeMapView::latLngForPixel(JNIEnv& env, jfloat x, jfloat y) { return LatLng::New(env, map->latLngForPixel(mbgl::ScreenCoordinate(x, y))); } diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm index fc4d39a14..4abc77b37 100644 --- a/platform/ios/src/MGLMapView.mm +++ b/platform/ios/src/MGLMapView.mm @@ -31,6 +31,7 @@ #include #include #include +#include #import "Mapbox.h" #import "MGLFeature_Private.h" @@ -3002,7 +3003,7 @@ public: - (CLLocationDistance)metersPerPointAtLatitude:(CLLocationDegrees)latitude { - return _mbglMap->getMetersPerPixelAtLatitude(latitude, self.zoomLevel); + return mbgl::Projection::getMetersPerPixelAtLatitude(latitude, self.zoomLevel); } - (CLLocationDistance)metersPerPixelAtLatitude:(CLLocationDegrees)latitude diff --git a/platform/macos/src/MGLMapView.mm b/platform/macos/src/MGLMapView.mm index 56f003fcb..01df48c3d 100644 --- a/platform/macos/src/MGLMapView.mm +++ b/platform/macos/src/MGLMapView.mm @@ -38,6 +38,7 @@ #import #import #import +#import #import #import @@ -2692,7 +2693,7 @@ public: } - (CLLocationDistance)metersPerPointAtLatitude:(CLLocationDegrees)latitude { - return _mbglMap->getMetersPerPixelAtLatitude(latitude, self.zoomLevel); + return mbgl::Projection::getMetersPerPixelAtLatitude(latitude, self.zoomLevel); } #pragma mark Debugging diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index 143af2ed1..fa4f56373 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -1121,7 +1122,7 @@ void QMapboxGL::addAnnotationIcon(const QString &name, const QImage &icon) */ double QMapboxGL::metersPerPixelAtLatitude(double latitude, double zoom) const { - return d_ptr->mapObj->getMetersPerPixelAtLatitude(latitude, zoom); + return mbgl::Projection::getMetersPerPixelAtLatitude(latitude, zoom); } /*! @@ -1129,7 +1130,7 @@ double QMapboxGL::metersPerPixelAtLatitude(double latitude, double zoom) const */ QMapbox::ProjectedMeters QMapboxGL::projectedMetersForCoordinate(const QMapbox::Coordinate &coordinate_) const { - auto projectedMeters = d_ptr->mapObj->projectedMetersForLatLng(mbgl::LatLng { coordinate_.first, coordinate_.second }); + auto projectedMeters = mbgl::Projection::projectedMetersForLatLng(mbgl::LatLng { coordinate_.first, coordinate_.second }); return QMapbox::ProjectedMeters(projectedMeters.northing(), projectedMeters.easting()); } @@ -1138,7 +1139,7 @@ QMapbox::ProjectedMeters QMapboxGL::projectedMetersForCoordinate(const QMapbox:: */ QMapbox::Coordinate QMapboxGL::coordinateForProjectedMeters(const QMapbox::ProjectedMeters &projectedMeters) const { - auto latLng = d_ptr->mapObj->latLngForProjectedMeters(mbgl::ProjectedMeters { projectedMeters.first, projectedMeters.second }); + auto latLng = mbgl::Projection::latLngForProjectedMeters(mbgl::ProjectedMeters { projectedMeters.first, projectedMeters.second }); return QMapbox::Coordinate(latLng.latitude(), latLng.longitude()); } diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp index afa330431..c2844f87f 100644 --- a/src/mbgl/map/map.cpp +++ b/src/mbgl/map/map.cpp @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include @@ -798,18 +797,6 @@ ViewportMode Map::getViewportMode() const { #pragma mark - Projection -double Map::getMetersPerPixelAtLatitude(double lat, double zoom) const { - return Projection::getMetersPerPixelAtLatitude(lat, zoom); -} - -ProjectedMeters Map::projectedMetersForLatLng(const LatLng& latLng) const { - return Projection::projectedMetersForLatLng(latLng); -} - -LatLng Map::latLngForProjectedMeters(const ProjectedMeters& projectedMeters) const { - return Projection::latLngForProjectedMeters(projectedMeters); -} - ScreenCoordinate Map::pixelForLatLng(const LatLng& latLng) const { // If the center and point longitudes are not in the same side of the // antimeridian, we unwrap the point longitude so it would be seen if