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;
}
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);
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)