Flip name and units and sign of rotation API
Angle -> Bearing Radians -> Degrees Clockwise -> Counterclockwise
This commit is contained in:
@@ -18,7 +18,7 @@ void Settings_JSON::load() {
|
||||
longitude = document[rapidjson::SizeType(0)].GetDouble();
|
||||
latitude = document[1].GetDouble();
|
||||
zoom = document[2].GetDouble();
|
||||
angle = document[3].GetDouble();
|
||||
bearing = document[3].GetDouble();
|
||||
debug = document[4].GetBool();
|
||||
}
|
||||
}
|
||||
@@ -32,7 +32,7 @@ void Settings_JSON::save() {
|
||||
writer.Double(longitude);
|
||||
writer.Double(latitude);
|
||||
writer.Double(zoom);
|
||||
writer.Double(angle);
|
||||
writer.Double(bearing);
|
||||
writer.Bool(debug);
|
||||
writer.EndArray();
|
||||
}
|
||||
@@ -41,6 +41,6 @@ void Settings_JSON::clear() {
|
||||
longitude = 0;
|
||||
latitude = 0;
|
||||
zoom = 0;
|
||||
angle = 0;
|
||||
bearing = 0;
|
||||
debug = false;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ public:
|
||||
double longitude = 0;
|
||||
double latitude = 0;
|
||||
double zoom = 0;
|
||||
double angle = 0;
|
||||
double bearing = 0;
|
||||
|
||||
bool debug = false;
|
||||
};
|
||||
|
||||
@@ -14,7 +14,7 @@ public:
|
||||
double longitude = 0;
|
||||
double latitude = 0;
|
||||
double zoom = 0;
|
||||
double angle = 0;
|
||||
double bearing = 0;
|
||||
|
||||
bool debug = false;
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@ Settings_NSUserDefaults::Settings_NSUserDefaults()
|
||||
[[NSUserDefaults standardUserDefaults] registerDefaults:@{ @"longitude" : @(longitude),
|
||||
@"latitude" : @(latitude),
|
||||
@"zoom" : @(zoom),
|
||||
@"angle" : @(angle),
|
||||
@"bearing" : @(bearing),
|
||||
@"debug" : @(debug) }];
|
||||
load();
|
||||
}
|
||||
@@ -21,7 +21,7 @@ void Settings_NSUserDefaults::load()
|
||||
longitude = [settings[@"longitude"] doubleValue];
|
||||
latitude = [settings[@"latitude"] doubleValue];
|
||||
zoom = [settings[@"zoom"] doubleValue];
|
||||
angle = [settings[@"angle"] doubleValue];
|
||||
bearing = [settings[@"bearing"] doubleValue];
|
||||
debug = [settings[@"debug"] boolValue];
|
||||
}
|
||||
|
||||
@@ -29,8 +29,8 @@ void Settings_NSUserDefaults::save()
|
||||
{
|
||||
[[NSUserDefaults standardUserDefaults] setValuesForKeysWithDictionary:@{ @"longitude" : @(longitude),
|
||||
@"latitude" : @(latitude),
|
||||
@"zoom" : @(zoom),
|
||||
@"angle" : @(angle),
|
||||
@"zoom" : @(zoom),
|
||||
@"bearing" : @(bearing),
|
||||
@"debug" : @(debug) }];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
}
|
||||
|
||||
@@ -89,9 +89,9 @@ public:
|
||||
|
||||
// Rotation
|
||||
void rotateBy(double sx, double sy, double ex, double ey, double duration = 0);
|
||||
void setAngle(double angle, double duration = 0);
|
||||
void setAngle(double angle, double cx, double cy);
|
||||
double getAngle() const;
|
||||
void setBearing(double degrees, double duration = 0);
|
||||
void setBearing(double degrees, double cx, double cy);
|
||||
double getBearing() const;
|
||||
void resetNorth();
|
||||
void startRotating();
|
||||
void stopRotating();
|
||||
|
||||
@@ -60,7 +60,7 @@ int main(int argc, char *argv[]) {
|
||||
// Load settings
|
||||
mbgl::Settings_JSON settings;
|
||||
map.setLonLatZoom(settings.longitude, settings.latitude, settings.zoom);
|
||||
map.setAngle(settings.angle);
|
||||
map.setBearing(settings.bearing);
|
||||
map.setDebug(settings.debug);
|
||||
|
||||
// Set access token if present
|
||||
@@ -78,7 +78,7 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
// Save settings
|
||||
map.getLonLatZoom(settings.longitude, settings.latitude, settings.zoom);
|
||||
settings.angle = map.getAngle();
|
||||
settings.bearing = map.getBearing();
|
||||
settings.debug = map.getDebug();
|
||||
settings.save();
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ int main() {
|
||||
// Load settings
|
||||
mbgl::Settings_NSUserDefaults settings;
|
||||
map.setLonLatZoom(settings.longitude, settings.latitude, settings.zoom);
|
||||
map.setAngle(settings.angle);
|
||||
map.setBearing(settings.bearing);
|
||||
map.setDebug(settings.debug);
|
||||
|
||||
// Set access token if present
|
||||
@@ -32,7 +32,7 @@ int main() {
|
||||
|
||||
// Save settings
|
||||
map.getLonLatZoom(settings.longitude, settings.latitude, settings.zoom);
|
||||
settings.angle = map.getAngle();
|
||||
settings.bearing = map.getBearing();
|
||||
settings.debug = map.getDebug();
|
||||
settings.save();
|
||||
|
||||
|
||||
@@ -18,6 +18,9 @@
|
||||
#include <memory>
|
||||
#include <iostream>
|
||||
|
||||
#define _USE_MATH_DEFINES
|
||||
#include <cmath>
|
||||
|
||||
using namespace mbgl;
|
||||
|
||||
Map::Map(View& view)
|
||||
@@ -333,20 +336,20 @@ void Map::rotateBy(double sx, double sy, double ex, double ey, double duration)
|
||||
}
|
||||
|
||||
// Note: This function is called from another thread. Make sure you only call threadsafe functions!
|
||||
void Map::setAngle(double angle, double duration) {
|
||||
transform.setAngle(angle, duration * 1_second);
|
||||
void Map::setBearing(double degrees, double duration) {
|
||||
transform.setAngle(-degrees * M_PI / 180, duration * 1_second);
|
||||
update();
|
||||
}
|
||||
|
||||
// Note: This function is called from another thread. Make sure you only call threadsafe functions!
|
||||
void Map::setAngle(double angle, double cx, double cy) {
|
||||
transform.setAngle(angle, cx, cy);
|
||||
void Map::setBearing(double degrees, double cx, double cy) {
|
||||
transform.setAngle(-degrees * M_PI / 180, cx, cy);
|
||||
update();
|
||||
}
|
||||
|
||||
// Note: This function is called from another thread. Make sure you only call threadsafe functions!
|
||||
double Map::getAngle() const {
|
||||
return transform.getAngle();
|
||||
double Map::getBearing() const {
|
||||
return -transform.getAngle() / M_PI * 180;
|
||||
}
|
||||
|
||||
// Note: This function is called from another thread. Make sure you only call threadsafe functions!
|
||||
|
||||
@@ -74,7 +74,7 @@ TEST_P(HeadlessTest, render) {
|
||||
view.resize(width, height);
|
||||
map.resize(width, height);
|
||||
map.setLonLatZoom(longitude, latitude, zoom);
|
||||
map.setAngle(bearing);
|
||||
map.setBearing(bearing);
|
||||
|
||||
// Run the loop. It will terminate when we don't have any further listeners.
|
||||
map.run();
|
||||
|
||||
Reference in New Issue
Block a user