[gnome-maps/wip/mlundblad/additional-place-icons: 4/6] WIP: Add utility module for place icons
- From: Marcus Lundblad <mlundblad src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-maps/wip/mlundblad/additional-place-icons: 4/6] WIP: Add utility module for place icons
- Date: Tue, 13 Apr 2021 22:00:22 +0000 (UTC)
commit a507a7de50283c921a153853a923e74c41a9e0f9
Author: Marcus Lundblad <ml update uu se>
Date: Tue Apr 13 23:13:50 2021 +0200
WIP: Add utility module for place icons
Add function for mapping place icon names
to places based on types.
src/org.gnome.Maps.src.gresource.xml | 1 +
src/placeIcons.js | 103 +++++++++++++++++++++++++++++++++++
2 files changed, 104 insertions(+)
---
diff --git a/src/org.gnome.Maps.src.gresource.xml b/src/org.gnome.Maps.src.gresource.xml
index cec373ea..3c5bc128 100644
--- a/src/org.gnome.Maps.src.gresource.xml
+++ b/src/org.gnome.Maps.src.gresource.xml
@@ -62,6 +62,7 @@
<file>placeDialog.js</file>
<file>placeEntry.js</file>
<file>placeFormatter.js</file>
+ <file>placeIcons.js</file>
<file>placeListRow.js</file>
<file>placeMarker.js</file>
<file>placePopover.js</file>
diff --git a/src/placeIcons.js b/src/placeIcons.js
new file mode 100644
index 00000000..5aa02801
--- /dev/null
+++ b/src/placeIcons.js
@@ -0,0 +1,103 @@
+/* -*- Mode: JS2; indent-tabs-mode: nil; js2-basic-offset: 4 -*- */
+/* vim: set et ts=4 sw=4: */
+/*
+ * Copyright (c) 2021 Marcus Lundblad
+ *
+ * GNOME Maps is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * GNOME Maps is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with GNOME Maps; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author: Marcus Lundblad <ml update uu se>
+ */
+
+const TYPE_ICON_MAP = {
+ 'aeroway': {
+ 'aerodrome': 'route-transit-airplane-symbolic'
+ },
+ 'amenity': {
+ 'bar': 'bar-symbolic',
+ 'bus_station': 'route-transit-bus-symbolic',
+ 'cafe': 'cafe-symbolic',
+ 'charging_station': 'electric-car-symbolic',
+ 'cinema': 'video-camera-symbolic',
+ 'clinic': 'hospital-sign-symbolic',
+ 'doctors': 'hospital-sign-symbolic',
+ 'ferry_terminal': 'route-transit-ferry-symbolic',
+ 'fuel': 'fuel-symbolic',
+ 'hospital': 'hospital-symbolic',
+ 'night_club': 'bar-symbolic',
+ 'parking': 'parking-sign-symbolic',
+ 'post_office': 'post-box-symbolic',
+ 'pub': 'pub-symbolic',
+ 'restaurant': 'restaurant-symbolic',
+ 'school': 'school-symbolic',
+ 'university': 'school-symbolic'
+ },
+ 'building': {
+ 'yes': 'building-symbolic',
+ 'railway_station': 'route-transit-train'
+ },
+ 'highway': {
+ 'bus_stop': 'route-transit-bus-symbolic',
+ 'motorway': 'route-car-symbolic',
+ 'motorway_link': 'route-car-symbolic',
+ 'trunk': 'route-car-symbolic',
+ 'trunk_link': 'route-car-symbolic',
+ 'primary': 'route-car-symbolic',
+ 'primary_link': 'route-car-symbolic',
+ 'secondary': 'route-car-symbolic',
+ 'secondary_link': 'route-car-symbolic',
+ 'tertiary': 'route-car-symbolic',
+ 'tertiary_link': 'route-car-symbolic',
+ 'unclassified': 'route-car-symbolic',
+ 'residential': 'route-car-symbolic',
+ 'living_street': 'route-car-symbolic',
+ 'service': 'route-car-symbolic',
+ 'track': 'route-car-symbolic',
+ 'cycleway': 'route-bike-symbolic',
+ 'footway': 'route-pedestrian-symbolic',
+ 'pedestrian': 'route-pedestrian-symbolic',
+ 'steps': 'route-pedestrian-symbolic',
+ 'path': 'route-pedestrian-symbolic'
+ },
+ 'leisure': {
+ 'nature_reserve': 'tree-symbolic',
+ 'park': 'tree-symbolic'
+ },
+ 'natural': {
+ 'peak': 'mountain-symbolic'
+ },
+ 'office': {
+ '': 'building-symbolic'
+ },
+ 'tourism': {
+ 'attraction': 'photo-camera-symbolic',
+ 'artwork': 'photo-camera-symbolic',
+ 'alpine_hut': 'bed-symbolic',
+ 'hotel': 'bed-symbolic',
+ 'hostel': 'bed-symbolic'
+ },
+ 'railway': {
+ 'halt': 'route-transit-train-symbolic',
+ 'station': 'route-transit-train-symbolic',
+ 'tram_stop': 'route-transit-tram-symbolic'
+ },
+ 'shop': {
+ '': 'shopping-cart-symbolic'
+ }
+};
+
+function getIconForPlace(place) {
+ return TYPE_ICON_MAP?.[place.osmKey]?.[place.osmValue] ??
+ TYPE_ICON_MAP?.[place.osmKey]?.[''] ?? 'map-marker-symbolic';
+}
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]