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