| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -117,11 +117,6 @@ void MapWindow::initLayers() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    pin["type"] = "symbol"; | 
					 | 
					 | 
					 | 
					    pin["type"] = "symbol"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    pin["source"] = "pinSource"; | 
					 | 
					 | 
					 | 
					    pin["source"] = "pinSource"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    m_map->addLayer(pin); | 
					 | 
					 | 
					 | 
					    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-pitch-alignment", "viewport"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    m_map->setLayoutProperty("pinLayer", "icon-image", "default_marker"); | 
					 | 
					 | 
					 | 
					    m_map->setLayoutProperty("pinLayer", "icon-image", "default_marker"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    m_map->setLayoutProperty("pinLayer", "icon-ignore-placement", true); | 
					 | 
					 | 
					 | 
					    m_map->setLayoutProperty("pinLayer", "icon-ignore-placement", true); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -305,6 +300,10 @@ void MapWindow::initializeGL() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  m_map->setStyleUrl("mapbox://styles/commaai/clj7g5vrp007b01qzb5ro0i4j"); | 
					 | 
					 | 
					 | 
					  m_map->setStyleUrl("mapbox://styles/commaai/clj7g5vrp007b01qzb5ro0i4j"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  QObject::connect(m_map.data(), &QMapboxGL::mapChanged, [=](QMapboxGL::MapChange change) { | 
					 | 
					 | 
					 | 
					  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) { | 
					 | 
					 | 
					 | 
					    if (change == QMapboxGL::MapChange::MapChangeDidFinishLoadingMap) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      loaded_once = true; | 
					 | 
					 | 
					 | 
					      loaded_once = true; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -411,7 +410,7 @@ void MapWindow::offroadTransition(bool offroad) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void MapWindow::updateDestinationMarker() { | 
					 | 
					 | 
					 | 
					void MapWindow::updateDestinationMarker() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  m_map->setPaintProperty("pinLayer", "icon-opacity", 0); | 
					 | 
					 | 
					 | 
					  m_map->setPaintProperty("pinLayer", "visibility", "none"); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  auto nav_dest = coordinate_from_param("NavDestination"); | 
					 | 
					 | 
					 | 
					  auto nav_dest = coordinate_from_param("NavDestination"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if (nav_dest.has_value()) { | 
					 | 
					 | 
					 | 
					  if (nav_dest.has_value()) { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -421,6 +420,6 @@ void MapWindow::updateDestinationMarker() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    pinSource["type"] = "geojson"; | 
					 | 
					 | 
					 | 
					    pinSource["type"] = "geojson"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    pinSource["data"] = QVariant::fromValue<QMapbox::Feature>(feature); | 
					 | 
					 | 
					 | 
					    pinSource["data"] = QVariant::fromValue<QMapbox::Feature>(feature); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    m_map->updateSource("pinSource", pinSource); | 
					 | 
					 | 
					 | 
					    m_map->updateSource("pinSource", pinSource); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    m_map->setPaintProperty("pinLayer", "icon-opacity", 1); | 
					 | 
					 | 
					 | 
					    m_map->setPaintProperty("pinLayer", "visibility", "visible"); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  } | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					 | 
					
  |