Add marker layer to show center of the map for which the calculations are processed

master
Zwarf 2022-03-30 00:10:16 +02:00
rodzic 28dfbec4d3
commit 51f55d4f15
6 zmienionych plików z 1217 dodań i 19 usunięć

Plik diff jest za duży Load Diff

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 52 KiB

Wyświetl plik

@ -16,3 +16,7 @@ install_data(
'milky-way-symbolic.svg',
install_dir: join_paths(get_option('datadir'), 'icons')
)
install_data(
'location-icon-symbolic-red.svg',
install_dir: join_paths(get_option('datadir'), 'icons')
)

Wyświetl plik

@ -8,5 +8,6 @@
<file>window/moon-page/moon-view.ui</file>
<file>window/milky-way-page/milky-way-view.ui</file>
<file>../data/icons/milky-way-symbolic.svg</file>
<file>../data/icons/location-icon-symbolic-red.svg</file>
</gresource>
</gresources>

Wyświetl plik

@ -10,24 +10,27 @@ static guint signal_input_changed;
struct _PicplannerOverview
{
GtkBox parent_instance;
GtkWidget *calendar;
GtkWidget *calendar_popover;
GtkWidget *calendar_button;
GtkWidget *spin_button_hour;
GtkWidget *spin_button_minute;
GtkWidget *label_sun_rise;
GtkWidget *label_sun_set;
GtkWidget *label_moon_rise;
GtkWidget *label_moon_set;
GtkWidget *label_milky_way_rise;
GtkWidget *label_milky_way_set;
ShumateSimpleMap *map;
ShumateViewport *viewport;
GtkBox parent_instance;
GtkWidget *calendar;
GtkWidget *calendar_popover;
GtkWidget *calendar_button;
GtkWidget *spin_button_hour;
GtkWidget *spin_button_minute;
GtkWidget *label_sun_rise;
GtkWidget *label_sun_set;
GtkWidget *label_moon_rise;
GtkWidget *label_moon_set;
GtkWidget *label_milky_way_rise;
GtkWidget *label_milky_way_set;
GDateTime *date_time;
ShumateSimpleMap *map;
ShumateViewport *viewport;
ShumateMarker *marker_central;
ShumateMarkerLayer *marker_layer;
GSettings *settings;
GDateTime *date_time;
GSettings *settings;
};
@ -150,6 +153,23 @@ picplanner_overview_set_current_coordinates_milky_way (PicplannerOverview *overv
g_free (char_milky_way_set);
}
void
picplanner_overview_update_map (PicplannerOverview *overview,
double latitude,
double longitude)
{
GtkWidget *image = gtk_image_new_from_icon_name ("location-icon-symbolic-red");
gtk_image_set_icon_size (GTK_IMAGE (image), GTK_ICON_SIZE_LARGE);
shumate_location_set_location (SHUMATE_LOCATION (overview->marker_central),
latitude,
longitude);
shumate_marker_set_child (overview->marker_central,
image);
shumate_marker_layer_add_marker (overview->marker_layer,
overview->marker_central);
}
/*
* Changing the date_time variable after a user input was recognized.
@ -282,6 +302,9 @@ picplanner_overview_init (PicplannerOverview *overview)
map_source = shumate_map_source_registry_get_by_id (registry, SHUMATE_MAP_SOURCE_OSM_MAPNIK);
shumate_simple_map_set_map_source (overview->map, map_source);
overview->viewport = shumate_simple_map_get_viewport (overview->map);
overview->marker_layer = shumate_marker_layer_new (overview->viewport);
shumate_simple_map_add_overlay_layer (overview->map, SHUMATE_LAYER (overview->marker_layer));
overview->marker_central = shumate_marker_new ();
/*
* Make all the bindings between widget properties and g_settings.

Wyświetl plik

@ -13,12 +13,20 @@ GDateTime
*picplanner_overview_get_date_time (PicplannerOverview *overview);
void
picplanner_overview_set_current_coordinates_sun (PicplannerOverview *overview, int *rise_upper_set_index);
picplanner_overview_set_current_coordinates_sun (PicplannerOverview *overview,
int *rise_upper_set_index);
void
picplanner_overview_set_current_coordinates_moon (PicplannerOverview *overview, int *rise_upper_set_index);
picplanner_overview_set_current_coordinates_moon (PicplannerOverview *overview,
int *rise_upper_set_index);
void
picplanner_overview_set_current_coordinates_milky_way (PicplannerOverview *overview, int *rise_upper_set_index);
picplanner_overview_set_current_coordinates_milky_way (PicplannerOverview *overview,
int *rise_upper_set_index);
void
picplanner_overview_update_map (PicplannerOverview *overview,
double latitude,
double longitude);
G_END_DECLS

Wyświetl plik

@ -292,6 +292,12 @@ calculate_positions (PicplannerWindow *window)
rise_upper_set_index_milky_way);
/*
* Update Shumate Map
*/
picplanner_overview_update_map (PICPLANNER_OVERVIEW (window->overview_box), latitude, longitude);
g_free (rise_upper_set_index_sun);
g_free (rise_upper_set_index_moon);
g_free (rise_upper_set_index_milky_way);