diff options
author | asanoaozora <fifitaneki@hotmail.com> | 2017-03-24 14:47:45 +0100 |
---|---|---|
committer | asanoaozora <fifitaneki@hotmail.com> | 2017-03-24 14:47:45 +0100 |
commit | 3582c759b0c69d3799579c14a42d2441093850c5 (patch) | |
tree | e9261ce7b7eaca9772d2413368d00a390dabcb25 /src/navigation/map-viewer/mapviewercontrol-server-plugin/genivi_mapviewer_mapviewercontrol.cxx | |
parent | ef97f1a0866832f84f3f1780a407d6a98e24c8f2 (diff) | |
download | poi-service-3582c759b0c69d3799579c14a42d2441093850c5.tar.gz |
implement GetScaleList
Diffstat (limited to 'src/navigation/map-viewer/mapviewercontrol-server-plugin/genivi_mapviewer_mapviewercontrol.cxx')
-rw-r--r-- | src/navigation/map-viewer/mapviewercontrol-server-plugin/genivi_mapviewer_mapviewercontrol.cxx | 89 |
1 files changed, 88 insertions, 1 deletions
diff --git a/src/navigation/map-viewer/mapviewercontrol-server-plugin/genivi_mapviewer_mapviewercontrol.cxx b/src/navigation/map-viewer/mapviewercontrol-server-plugin/genivi_mapviewer_mapviewercontrol.cxx index c34df33..4982206 100644 --- a/src/navigation/map-viewer/mapviewercontrol-server-plugin/genivi_mapviewer_mapviewercontrol.cxx +++ b/src/navigation/map-viewer/mapviewercontrol-server-plugin/genivi_mapviewer_mapviewercontrol.cxx @@ -70,6 +70,9 @@ #define dbg(level,...) ; #endif +#define ZOOM_ZERO_METER_WIDTH 33250 //width in millimeter of the real area for the minimum zoom +#define ZOOM_ZERO_METER_HEIGHT 21970 //height in millimeter of the real area for the minimum zoom + using namespace v4::org::genivi::navigation::mapviewer; using namespace v4::org::genivi::navigation::navigationcore; using namespace v4::org::genivi::navigation; @@ -124,6 +127,8 @@ class MapViewerControlObj std::vector<DisplayedRoute *> m_displayed_routes; struct point m_pan; int m_pan_action; + uint16_t m_width; + uint16_t m_height; void MoveMap(void); void SetFollowCarMode(NavigationTypes::Handle SessionHandle, bool active); @@ -1100,7 +1105,89 @@ MapViewerControlObj::GetMapViewPerspective(MapViewerControl::MapPerspective& Map void MapViewerControlObj::GetScaleList(std::vector<MapViewerControl::MapScale> &ScalesList) { - throw DBus::ErrorNotSupported("Not yet supported"); + MapViewerControl::MapScale scale; + uint32_t basisPixel = ZOOM_ZERO_METER_WIDTH/m_width; + + scale.setScaleId(0); + scale.setScaleValue(2); + scale.setUnit(MapViewerControl::MapScaleUnit::METER); + scale.setMillimetersPerPixel(basisPixel); + ScalesList.push_back(scale); + scale.setScaleId(1); + scale.setScaleValue(5); + scale.setUnit(MapViewerControl::MapScaleUnit::METER); + scale.setMillimetersPerPixel(basisPixel<<1); + ScalesList.push_back(scale); + scale.setScaleId(2); + scale.setScaleValue(10); + scale.setUnit(MapViewerControl::MapScaleUnit::METER); + scale.setMillimetersPerPixel(basisPixel<<2); + ScalesList.push_back(scale); + scale.setScaleId(3); + scale.setScaleValue(20); + scale.setUnit(MapViewerControl::MapScaleUnit::METER); + scale.setMillimetersPerPixel(basisPixel<<3); + ScalesList.push_back(scale); + scale.setScaleId(4); + scale.setScaleValue(50); + scale.setUnit(MapViewerControl::MapScaleUnit::METER); + scale.setMillimetersPerPixel(basisPixel<<4); + ScalesList.push_back(scale); + scale.setScaleId(5); + scale.setScaleValue(100); + scale.setUnit(MapViewerControl::MapScaleUnit::METER); + scale.setMillimetersPerPixel(basisPixel<<5); + ScalesList.push_back(scale); + scale.setScaleId(6); + scale.setScaleValue(200); + scale.setUnit(MapViewerControl::MapScaleUnit::METER); + scale.setMillimetersPerPixel(basisPixel<<6); + ScalesList.push_back(scale); + scale.setScaleId(7); + scale.setScaleValue(500); + scale.setUnit(MapViewerControl::MapScaleUnit::METER); + scale.setMillimetersPerPixel(basisPixel<<7); + ScalesList.push_back(scale); + scale.setScaleId(8); + scale.setScaleValue(1); + scale.setUnit(MapViewerControl::MapScaleUnit::KM); + scale.setMillimetersPerPixel(basisPixel<<8); + ScalesList.push_back(scale); + scale.setScaleId(9); + scale.setScaleValue(2); + scale.setUnit(MapViewerControl::MapScaleUnit::KM); + scale.setMillimetersPerPixel(basisPixel<<9); + ScalesList.push_back(scale); + scale.setScaleId(10); + scale.setScaleValue(5); + scale.setUnit(MapViewerControl::MapScaleUnit::KM); + scale.setMillimetersPerPixel(basisPixel<<10); + ScalesList.push_back(scale); + scale.setScaleId(11); + scale.setScaleValue(10); + scale.setUnit(MapViewerControl::MapScaleUnit::KM); + scale.setMillimetersPerPixel(basisPixel<<11); + ScalesList.push_back(scale); + scale.setScaleId(12); + scale.setScaleValue(20); + scale.setUnit(MapViewerControl::MapScaleUnit::KM); + scale.setMillimetersPerPixel(basisPixel<<12); + ScalesList.push_back(scale); + scale.setScaleId(13); + scale.setScaleValue(50); + scale.setUnit(MapViewerControl::MapScaleUnit::KM); + scale.setMillimetersPerPixel(basisPixel<<13); + ScalesList.push_back(scale); + scale.setScaleId(14); + scale.setScaleValue(100); + scale.setUnit(MapViewerControl::MapScaleUnit::KM); + scale.setMillimetersPerPixel(basisPixel<<14); + ScalesList.push_back(scale); + scale.setScaleId(15); + scale.setScaleValue(200); + scale.setUnit(MapViewerControl::MapScaleUnit::KM); + scale.setMillimetersPerPixel(basisPixel<<15); + ScalesList.push_back(scale); } void |