Ejemplo n.º 1
0
/**
 * osm_gps_map_geographic_to_screen:
 *
 * Deprecated: 0.7.0: Use osm_gps_map_convert_geographic_to_screen() instead.
 **/
void
osm_gps_map_geographic_to_screen (OsmGpsMap *map,
                                  gfloat latitude, gfloat longitude,
                                  gint *pixel_x, gint *pixel_y)
{
    OsmGpsMapPoint p;
    g_warning("%s is deprecated", G_STRFUNC);
    osm_gps_map_point_set_degrees(&p, latitude, longitude);
    osm_gps_map_convert_geographic_to_screen(map, &p, pixel_x, pixel_y);
}
Ejemplo n.º 2
0
static void
coordinates_render(OsmGpsMapAis *self, OsmGpsMap *map)
{
    OsdCoordinates_t *coordinates = self->priv->coordinates;
	OsmGpsMapPoint point;

    if(!coordinates->surface)
        return;
	gfloat lat, lon;
	g_object_get(G_OBJECT(map), "latitude", &lat, "longitude", &lon, NULL);
	coordinates->lat = lat;
	coordinates->lon = lon;

	gint pixel_x, pixel_y;

    g_assert(coordinates->surface);
    cairo_t *cr = cairo_create(coordinates->surface);
    cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
    cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 0.0);
    cairo_paint(cr);
    cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
    cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0);
	cairo_set_line_width(cr, 1);

	int i;
	float theta;
	printf("Number of vessels: %d\n",numberofships);
	G_LOCK(updatemap);
	for(i=0;i<numberofships;i++) {
		osm_gps_map_point_set_degrees(&point, ships[i]->latitude, ships[i]->longitude);
		osm_gps_map_convert_geographic_to_screen(map, &point, &pixel_x,&pixel_y);
		if (ships[i]->heading != 511)
			theta = ships[i]->heading * M_PI / 180;
		else
			theta = ships[i]->course * M_PI / 180;
		draw_one_boat(cr,(int)pixel_x,(int)pixel_y,theta);
		printf("%f %f\n",ships[i]->latitude, ships[i]->longitude);
	}
	G_UNLOCK(updatemap);


    cairo_destroy(cr);
}