Exemple #1
0
void MapView::addData(const QTime &time, qreal lat, qreal lon, const QStringList &metadata)
{
    // Add marker
    Marker *marker = new Marker(time, lat, lon, metadata);
    marker->setZValue(2);

    markers.append(marker);
    qSort(markers.begin(), markers.end(), markerLessThan);

    geo_map->addMapObject(marker);
    geo_map->setCenter(marker->coordinate());
    QStringList md = marker->metadata();
    md.prepend(marker->time().toString());
    emit markerClicked(md);

    // Add point to track
    QList<QGeoCoordinate> path;
    foreach (const Marker *marker, markers)
        path.append(marker->coordinate());

    track->setPath(path);

    // QGeoMapPolylineObject cannot be added to map if it's empty
    if (!path.isEmpty() && !geo_map->mapObjects().contains(track))
        geo_map->addMapObject(track);
}
Exemple #2
0
static void addMarkerInOrder( std::vector< Marker > & markers,
                              const Marker & addme )
{
    std::vector< Marker >::iterator it = markers.begin();
    while( it != markers.end() && it->time() < addme.time() )
    {
        ++it;
    }
    markers.insert( it, addme );
}
Exemple #3
0
// ---------------------------------------------------------------------------
//	dilate
// ---------------------------------------------------------------------------
//!	Compute a new time for the specified Marker using
//!	warpTime(), exactly as Partial Breakpoint times are
//!	recomputed. This can be used to dilate the Markers
//!	corresponding to a collection of Partials. 
//!
//!	\param	m is the Marker whose time should be recomputed.
//
void
Dilator::dilate( Marker & m ) const
{
	m.setTime( warpTime( m.time() ) );
}