From: Varun Date: Wed, 14 Sep 2016 15:49:38 +0000 (-0400) Subject: Add scene updates for toggling buildings, public transit, and setting language X-Git-Tag: submit/tizen_3.0/20161108.012559~29 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=16f46e855ceb28727ff924224d62320bd794e032;p=platform%2Fcore%2Flocation%2Fmaps-plugin-mapzen.git Add scene updates for toggling buildings, public transit, and setting language - Also updated the scene min and max zooms to 0 and 20 respectively Change-Id: I0eee7ed1186e493fa2f487ec24a53d3c5b8fc883 --- diff --git a/src/mapzen/tangram_view.cpp b/src/mapzen/tangram_view.cpp index 9cc7b2b..497e96b 100644 --- a/src/mapzen/tangram_view.cpp +++ b/src/mapzen/tangram_view.cpp @@ -393,15 +393,13 @@ mapzen_error_e TangramView::convertGeolocationToScreen(maps_view_h view, const m mapzen_error_e TangramView::getMinZoomLevel(maps_view_h view, int *zoom) { - // TODO: Get the minimum zoom level from the tangram scene. - *zoom = 2; + *zoom = 0; return MAPZEN_ERROR_NONE; } mapzen_error_e TangramView::getMaxZoomLevel(maps_view_h view, int *zoom) { - // TODO: Get the maximum zoom level from the tangram scene. - *zoom = 18; + *zoom = 20; return MAPZEN_ERROR_NONE; } @@ -737,17 +735,6 @@ void TangramView::setMapType(maps_view_h view) return; } - // Switches for buildings, traffic, and public transit are not currently implemented. - - // bool buildings_enabled = false; - // maps_view_get_buildings_enabled(view, &buildings_enabled); - - // bool traffic_enabled = false; - // maps_view_get_traffic_enabled(view, &traffic_enabled); - - // bool public_transit_enabled = false; - // maps_view_get_public_transit_enabled(view, &public_transit_enabled); - maps_view_type_e map_type; maps_view_get_type(view, &map_type); @@ -769,6 +756,40 @@ void TangramView::setMapType(maps_view_h view) m_viewType = newViewType; m_map->loadScene(newSceneFile); } + + bool buildings_enabled = false; + maps_view_get_buildings_enabled(view, &buildings_enabled); + if (buildings_enabled != m_buildingsEnabled) { + m_buildingsEnabled = buildings_enabled; + if (m_buildingsEnabled) { + m_map->queueSceneUpdate("global.building_extrude", "true"); + } else { + m_map->queueSceneUpdate("global.building_extrude", "false"); + } + } + + bool public_transit_enabled = false; + maps_view_get_public_transit_enabled(view, &public_transit_enabled); + if (public_transit_enabled != m_publicTransitEnabled) { + m_publicTransitEnabled = public_transit_enabled; + if (m_publicTransitEnabled) { + m_map->queueSceneUpdate("global.sdk_transit_overlay", "true"); + } else { + m_map->queueSceneUpdate("global.sdk_transit_overlay", "false"); + } + } + + char* language = nullptr; + maps_view_get_language(view, &language); + if (std::string(language) != m_language) { + m_language = language; + m_map->queueSceneUpdate("global.ux_language: ", m_language.c_str()); + } + free(language); + + // bool traffic_enabled = false; + // maps_view_get_traffic_enabled(view, &traffic_enabled); + m_map->applySceneUpdates(); } void TangramView::readyMapCb(void *data) diff --git a/src/mapzen/tangram_view.hpp b/src/mapzen/tangram_view.hpp index 490b795..b059538 100644 --- a/src/mapzen/tangram_view.hpp +++ b/src/mapzen/tangram_view.hpp @@ -86,6 +86,9 @@ private: Evas_GL_API *m_api = nullptr; bool m_isInitialized = false; + bool m_publicTransitEnabled = false; + bool m_buildingsEnabled = true; + std::string m_language = "eng"; int m_x = 0; int m_y = 0;