Skip to content

Commit b27e178

Browse files
committed
user define api keys for Google and Azure
todo: convert to azure google: support non ortophoto maps as these are not available in europe any more
1 parent f6e8e08 commit b27e178

9 files changed

Lines changed: 32 additions & 10 deletions

File tree

src/oddlot/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ SET(ODDLOT_SOURCES
7575
src/gui/importsettings.cpp
7676
src/gui/exportsettings.cpp
7777
src/gui/lodsettings.cpp
78+
src/gui/apisettings.cpp
7879
src/data/projectdata.cpp
7980
src/data/roadsystem/roadsystem.cpp
8081
src/data/roadsystem/rsystemelement.cpp
@@ -499,6 +500,7 @@ SET(ODDLOT_MOC_HEADERS
499500
src/graph/items/handles/baselanemovehandle.hpp
500501
src/gui/exportsettings.hpp
501502
src/gui/importsettings.hpp
503+
src/gui/apisettings.hpp
502504
src/gui/lodsettings.hpp
503505
src/gui/oscsettings.hpp
504506
src/gui/osmimport.hpp
@@ -615,6 +617,7 @@ SET(ODDLOT_FORMS
615617
src/cover/coverconnection.ui
616618
src/gui/filesettings.ui
617619

620+
src/gui/apisettings.ui
618621
src/gui/lodsettings.ui
619622
src/gui/tools/TrackRibbon.ui
620623
src/gui/tools/TypeRibbon.ui

src/oddlot/src/graph/editors/junctioneditor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2425,7 +2425,7 @@ JunctionEditor::mouseAction(MouseAction *mouseAction)
24252425
newLaneSection = new LaneSection(0.0, false);
24262426
spiralPrototype->addLaneSection(newLaneSection);
24272427
}
2428-
Lane::LaneType lastType = startLanes.value(0)->getLaneType();
2428+
Lane::LaneType lastType = startLanes.first()->getLaneType();
24292429

24302430

24312431
for (int lr = 0; lr < 2; lr++)

src/oddlot/src/graph/graphview.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,7 @@ GraphView::loadGoogleMap()
624624
//system(qPrintable(XMLlocationCommand));
625625

626626
QString tmpDir = topviewGraph_->getProjectData()->tempDir.path() + "/";
627-
downloadFile(tmpDir + "location.xml", "https://maps.google.com/maps/api/geocode/xml?address=" + location + "&key=AIzaSyCvZVXlu-UfJdPUb6_66YHjyPj4qHKc_Wc");
627+
downloadFile(tmpDir + "location.xml", "https://maps.google.com/maps/api/geocode/xml?address=" + location + "&key="+ APISettings::instance()->GoogleAPIKey);
628628

629629
QString lat = "48.73964";
630630
QString lon = "9.09725";
@@ -695,7 +695,7 @@ GraphView::loadGoogleMap()
695695
QString style = "&style=feature:all|element:labels|visibility:off";
696696
//QString uploadPrefix = "wget -O ";
697697
QString uploadPrefix2 = "https://maps.googleapis.com/maps/api/staticmap?center=";
698-
QString uploadPostfix = "&zoom=" + zoom + "&maptype=" + maptype + style + "&size=1200x1200&scale=2&key=AIzaSyCvZVXlu-UfJdPUb6_66YHjyPj4qHKc_Wc";
698+
QString uploadPostfix = "&zoom=" + zoom + "&maptype=" + maptype + style + "&size=1200x1200&scale=2&key="+ APISettings::instance()->GoogleAPIKey;
699699

700700

701701
//this equation was calculated by calibrating the latitude offset to a variety of locations. this is the equation of the line of best fit.
@@ -842,7 +842,7 @@ GraphView::loadBingMap()
842842

843843
// system(qPrintable(XMLlocationCommand));
844844

845-
downloadFile(tmpDir + "location.xml", "https://maps.google.com/maps/api/geocode/xml?address=" + location + "&key=AIzaSyCvZVXlu-UfJdPUb6_66YHjyPj4qHKc_Wc");
845+
downloadFile(tmpDir + "location.xml", "https://maps.google.com/maps/api/geocode/xml?address=" + location + "&key=" + APISettings::instance()->GoogleAPIKey);
846846

847847
QString lat = "48.73964";
848848
QString lon = "9.09725";
@@ -911,7 +911,7 @@ GraphView::loadBingMap()
911911

912912
//system(qPrintable(XMLlocationCommandBing));
913913

914-
downloadFile("locationBing.xml", "http://dev.virtualearth.net/REST/v1/Imagery/Map/Aerial/" + lat + "," + lon + "/19?mapSize=1500,1500&mapMetadata=1&o=xml&key=AlG2vgS1nf8uEEiq4ypPUu3Be-Mr1QOWiTj_lY55b8RAVNl7h3v1Bx0nTqavOJDm");
914+
downloadFile("locationBing.xml", "http://dev.virtualearth.net/REST/v1/Imagery/Map/Aerial/" + lat + "," + lon + "/19?mapSize=1500,1500&mapMetadata=1&o=xml&key=" + APISettings::instance()->BINGAPIKey);
915915

916916

917917

@@ -1017,7 +1017,7 @@ GraphView::loadBingMap()
10171017

10181018
QString uploadPrefix = "wget -O ";
10191019
QString uploadPrefix2 = "http://dev.virtualearth.net/REST/V1/Imagery/Map/Aerial/";
1020-
QString uploadPostfix = "/19?mapSize=1500,1500&key=AlG2vgS1nf8uEEiq4ypPUu3Be-Mr1QOWiTj_lY55b8RAVNl7h3v1Bx0nTqavOJDm";
1020+
QString uploadPostfix = "/19?mapSize=1500,1500&key=" + APISettings::instance()->BINGAPIKey;
10211021

10221022

10231023

src/oddlot/src/gui/parameters/toolparametersettings.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,9 @@ ToolParameterSettings::addParamUI(unsigned int paramIndex, ToolParameter *p)
158158
}
159159

160160
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
161-
connect(doubleSpinBox, QOverload<const QString &>::of(&QDoubleSpinBox::textChanged), [&name, this](const QString &text) { onEditingFinished(name); });
161+
connect(doubleSpinBox, QOverload<const QString &>::of(&QDoubleSpinBox::textChanged), [name, this](const QString &text) { onEditingFinished(name); });
162162
#else
163-
connect(doubleSpinBox, QOverload<const QString &>::of(&QDoubleSpinBox::valueChanged), [&name, this](const QString &text) { onEditingFinished(name); });
163+
connect(doubleSpinBox, QOverload<const QString &>::of(&QDoubleSpinBox::valueChanged), [name, this](const QString &text) { onEditingFinished(name); });
164164
#endif
165165

166166
spinBox = doubleSpinBox;

src/oddlot/src/gui/projectwidget.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ ProjectWidget::ProjectWidget(MainWindow *mainWindow)
146146
splitter->setOrientation(Qt::Vertical);
147147
layout->addWidget(splitter);
148148

149+
149150
// Project Handling //
150151
//
151152
projectMenuAction_ = new QAction(this); // text will be set later
@@ -237,6 +238,7 @@ ProjectWidget::ProjectWidget(MainWindow *mainWindow)
237238

238239
projectionSettings = mainWindow->getProjectionSettings();
239240
lodSettings = LODSettings::instance();
241+
apiSettings = APISettings::instance();
240242

241243
oscSettings = OSCSettings::instance();
242244
connect(oscSettings, SIGNAL(readValidationChanged(bool)), projectData_, SLOT(changeOSCValidation(bool)));

src/oddlot/src/gui/projectwidget.hpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
#include "src/gui/projectionsettings.hpp"
2525
#include "src/gui/lodsettings.hpp"
26+
#include "src/gui/apisettings.hpp"
2627

2728
class QAction;
2829

@@ -41,6 +42,7 @@ class CatalogWidget;
4142
class CatalogTreeWidget;
4243
class ProjectSettings;
4344
class LODSettings;
45+
class APISettings;
4446
class OSCSettings;
4547

4648
class ToolAction;
@@ -178,6 +180,10 @@ class ProjectWidget : public QWidget
178180
{
179181
return lodSettings;
180182
}
183+
APISettings* getAPISettings() const
184+
{
185+
return apiSettings;
186+
}
181187

182188
void setEditor(ODD::EditorId id);
183189

@@ -191,7 +197,8 @@ class ProjectWidget : public QWidget
191197

192198
protected:
193199
ProjectionSettings *projectionSettings;
194-
LODSettings *lodSettings;
200+
APISettings* apiSettings;
201+
LODSettings* lodSettings;
195202
OSCSettings *oscSettings;
196203
std::vector<double> SlopeVector;
197204
std::vector<double> SVector; // S on road for each segment

src/oddlot/src/main.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ int main(int argc, char *argv[])
3333
std::cout << "\n\nStarting...\n ODDlot: The OpenDRIVE Designer for Lanes, Objects and Tracks.\n" << std::endl;
3434
QApplication a(argc, argv);
3535
a.setAttribute(Qt::AA_MacDontSwapCtrlAndMeta);
36+
a.setOrganizationName("HLRS");
37+
a.setApplicationName("OddLOT");
38+
a.setApplicationDisplayName("OddLOT");
3639
MainWindow w;
3740
QIcon icon(":/icons/oddlot.png");
3841
w.setWindowIcon(icon);

src/oddlot/src/mainwindow.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ MainWindow::MainWindow(QWidget *parent)
107107
importSettings = new ImportSettings();
108108
exportSettings = new ExportSettings();
109109
lodSettings = new LODSettings();
110+
apiSettings = new APISettings(this);
110111
oscSettings = new OSCSettings(covisedir_ + "/share/covise/catalogs/");
111112

112113
//---------------------------------------//
@@ -404,6 +405,7 @@ MainWindow::createFileSettings()
404405
fileSettings->addTab(importSettings);
405406
fileSettings->addTab(oscSettings);
406407
fileSettings->addTab(lodSettings);
408+
fileSettings->addTab(apiSettings);
407409
#ifdef COVER_CONNECTION
408410
fileSettings->addTab(coverConnection);
409411
#endif

src/oddlot/src/mainwindow.hpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <QMainWindow>
2020
#include <QTreeWidgetItem>
2121
#include <QUndoView>
22+
#include <QSettings>
2223

2324
#include <src/util/odd.hpp>
2425

@@ -60,6 +61,7 @@ class COVERConnection;
6061
#include "src/gui/importsettings.hpp"
6162
#include "src/gui/exportsettings.hpp"
6263
#include "src/gui/lodsettings.hpp"
64+
#include "src/gui/apisettings.hpp"
6365
#include "src/gui/oscsettings.hpp"
6466
#include "src/cover/coverconnection.hpp"
6567
#include "src/gui/filesettings.hpp"
@@ -203,6 +205,8 @@ class MainWindow : public QMainWindow
203205
void hideParameterSettings();
204206

205207

208+
QSettings appSettings;
209+
206210
private:
207211
// Init functions //
208212
//
@@ -237,7 +241,8 @@ class MainWindow : public QMainWindow
237241
OSCSettings *oscSettings;
238242
ImportSettings *importSettings;
239243
ExportSettings *exportSettings;
240-
LODSettings *lodSettings;
244+
LODSettings* lodSettings;
245+
APISettings* apiSettings;
241246

242247
FileSettings *fileSettings;
243248

0 commit comments

Comments
 (0)