ui: set global map transition duration (#29061)
* this works! * revert properties * more clean up * more * more * add comment * final old-commit-hash: e4dc86f44d6efc6153f8ace852a63802e4a65ca4
This commit is contained in:
@@ -117,11 +117,6 @@ void MapWindow::initLayers() {
|
||||
pin["type"] = "symbol";
|
||||
pin["source"] = "pinSource";
|
||||
m_map->addLayer(pin);
|
||||
|
||||
// FIXME: solve, workaround to remove animation on visibility property
|
||||
QVariantMap transition;
|
||||
transition["duration"] = 0; // ms
|
||||
m_map->setPaintProperty("pinLayer", "icon-opacity-transition", transition);
|
||||
m_map->setLayoutProperty("pinLayer", "icon-pitch-alignment", "viewport");
|
||||
m_map->setLayoutProperty("pinLayer", "icon-image", "default_marker");
|
||||
m_map->setLayoutProperty("pinLayer", "icon-ignore-placement", true);
|
||||
@@ -305,6 +300,10 @@ void MapWindow::initializeGL() {
|
||||
m_map->setStyleUrl("mapbox://styles/commaai/clj7g5vrp007b01qzb5ro0i4j");
|
||||
|
||||
QObject::connect(m_map.data(), &QMapboxGL::mapChanged, [=](QMapboxGL::MapChange change) {
|
||||
// set global animation duration to 0 ms so visibility changes are instant
|
||||
if (change == QMapboxGL::MapChange::MapChangeDidFinishLoadingStyle) {
|
||||
m_map->setTransitionOptions(0, 0);
|
||||
}
|
||||
if (change == QMapboxGL::MapChange::MapChangeDidFinishLoadingMap) {
|
||||
loaded_once = true;
|
||||
}
|
||||
@@ -411,7 +410,7 @@ void MapWindow::offroadTransition(bool offroad) {
|
||||
}
|
||||
|
||||
void MapWindow::updateDestinationMarker() {
|
||||
m_map->setPaintProperty("pinLayer", "icon-opacity", 0);
|
||||
m_map->setPaintProperty("pinLayer", "visibility", "none");
|
||||
|
||||
auto nav_dest = coordinate_from_param("NavDestination");
|
||||
if (nav_dest.has_value()) {
|
||||
@@ -421,6 +420,6 @@ void MapWindow::updateDestinationMarker() {
|
||||
pinSource["type"] = "geojson";
|
||||
pinSource["data"] = QVariant::fromValue<QMapbox::Feature>(feature);
|
||||
m_map->updateSource("pinSource", pinSource);
|
||||
m_map->setPaintProperty("pinLayer", "icon-opacity", 1);
|
||||
m_map->setPaintProperty("pinLayer", "visibility", "visible");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user