From 3aabde338a1e277acf14b3f9e64dd4f61289d7df Mon Sep 17 00:00:00 2001 From: David Martinez <47610359+dvdmrtnz@users.noreply.github.com> Date: Mon, 14 Jul 2025 18:30:25 +0200 Subject: [PATCH] [styles] Add bicycle search result icons & bookmark icons Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com> --- .../organicmaps/sdk/bookmarks/data/Icon.java | 5 ++++- .../symbols/bookmark-bicycle_parking-m.svg | 12 ++++++++++++ .../bookmark-bicycle_parking_covered-m.svg | 13 +++++++++++++ .../dark/symbols/bookmark-bicycle_rental-m.svg | 15 +++++++++++++++ .../search-result-bicycle_parking-covered.svg | 16 ++++++++++++++++ .../symbols/search-result-bicycle_parking.svg | 15 +++++++++++++++ .../symbols/search-result-bicycle_rental.svg | 18 ++++++++++++++++++ .../symbols/bookmark-bicycle_parking-m.svg | 12 ++++++++++++ .../bookmark-bicycle_parking_covered-m.svg | 13 +++++++++++++ .../symbols/bookmark-bicycle_rental-m.svg | 15 +++++++++++++++ .../search-result-bicycle_parking-covered.svg | 16 ++++++++++++++++ .../symbols/search-result-bicycle_parking.svg | 15 +++++++++++++++ .../symbols/search-result-bicycle_rental.svg | 18 ++++++++++++++++++ .../Contents.json | 12 ++++++++++++ .../ic_bm_bicycleparking.svg | 4 ++++ .../Contents.json | 12 ++++++++++++ .../ic_bm_bicycleparkingcovered.svg | 5 +++++ .../ic_bm_bicyclerental.imageset/Contents.json | 12 ++++++++++++ .../ic_bm_bicyclerental.svg | 7 +++++++ kml/types.hpp | 6 ++++++ map/bookmark.cpp | 3 +++ map/bookmark_helpers.cpp | 5 ++++- map/search_mark.cpp | 9 +++++++++ 23 files changed, 256 insertions(+), 2 deletions(-) create mode 100644 data/styles/default/dark/symbols/bookmark-bicycle_parking-m.svg create mode 100644 data/styles/default/dark/symbols/bookmark-bicycle_parking_covered-m.svg create mode 100644 data/styles/default/dark/symbols/bookmark-bicycle_rental-m.svg create mode 100644 data/styles/default/dark/symbols/search-result-bicycle_parking-covered.svg create mode 100644 data/styles/default/dark/symbols/search-result-bicycle_parking.svg create mode 100644 data/styles/default/dark/symbols/search-result-bicycle_rental.svg create mode 100644 data/styles/default/light/symbols/bookmark-bicycle_parking-m.svg create mode 100644 data/styles/default/light/symbols/bookmark-bicycle_parking_covered-m.svg create mode 100644 data/styles/default/light/symbols/bookmark-bicycle_rental-m.svg create mode 100644 data/styles/default/light/symbols/search-result-bicycle_parking-covered.svg create mode 100644 data/styles/default/light/symbols/search-result-bicycle_parking.svg create mode 100644 data/styles/default/light/symbols/search-result-bicycle_rental.svg create mode 100644 iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparking.imageset/Contents.json create mode 100644 iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparking.imageset/ic_bm_bicycleparking.svg create mode 100644 iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparkingcovered.imageset/Contents.json create mode 100644 iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparkingcovered.imageset/ic_bm_bicycleparkingcovered.svg create mode 100644 iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicyclerental.imageset/Contents.json create mode 100644 iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicyclerental.imageset/ic_bm_bicyclerental.svg diff --git a/android/app/src/main/java/app/organicmaps/sdk/bookmarks/data/Icon.java b/android/app/src/main/java/app/organicmaps/sdk/bookmarks/data/Icon.java index c6d9c73d2..9127a723d 100644 --- a/android/app/src/main/java/app/organicmaps/sdk/bookmarks/data/Icon.java +++ b/android/app/src/main/java/app/organicmaps/sdk/bookmarks/data/Icon.java @@ -92,7 +92,10 @@ public class Icon implements Parcelable R.drawable.ic_bookmark_none, // stadium R.drawable.ic_bookmark_none, // theatre R.drawable.ic_bookmark_none, // information - R.drawable.ic_bookmark_none // ChargingStation + R.drawable.ic_bookmark_none, // ChargingStation + R.drawable.ic_bookmark_none, // BicycleParking + R.drawable.ic_bookmark_none, // BicycleParkingCovered + R.drawable.ic_bookmark_none // BicycleRental }; @PredefinedColor diff --git a/data/styles/default/dark/symbols/bookmark-bicycle_parking-m.svg b/data/styles/default/dark/symbols/bookmark-bicycle_parking-m.svg new file mode 100644 index 000000000..92867fe82 --- /dev/null +++ b/data/styles/default/dark/symbols/bookmark-bicycle_parking-m.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/data/styles/default/dark/symbols/bookmark-bicycle_parking_covered-m.svg b/data/styles/default/dark/symbols/bookmark-bicycle_parking_covered-m.svg new file mode 100644 index 000000000..cc117e50d --- /dev/null +++ b/data/styles/default/dark/symbols/bookmark-bicycle_parking_covered-m.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/data/styles/default/dark/symbols/bookmark-bicycle_rental-m.svg b/data/styles/default/dark/symbols/bookmark-bicycle_rental-m.svg new file mode 100644 index 000000000..5ef6fca04 --- /dev/null +++ b/data/styles/default/dark/symbols/bookmark-bicycle_rental-m.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/data/styles/default/dark/symbols/search-result-bicycle_parking-covered.svg b/data/styles/default/dark/symbols/search-result-bicycle_parking-covered.svg new file mode 100644 index 000000000..f8c7ad2ed --- /dev/null +++ b/data/styles/default/dark/symbols/search-result-bicycle_parking-covered.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/data/styles/default/dark/symbols/search-result-bicycle_parking.svg b/data/styles/default/dark/symbols/search-result-bicycle_parking.svg new file mode 100644 index 000000000..3198e27ce --- /dev/null +++ b/data/styles/default/dark/symbols/search-result-bicycle_parking.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/data/styles/default/dark/symbols/search-result-bicycle_rental.svg b/data/styles/default/dark/symbols/search-result-bicycle_rental.svg new file mode 100644 index 000000000..e03477152 --- /dev/null +++ b/data/styles/default/dark/symbols/search-result-bicycle_rental.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/data/styles/default/light/symbols/bookmark-bicycle_parking-m.svg b/data/styles/default/light/symbols/bookmark-bicycle_parking-m.svg new file mode 100644 index 000000000..94d2994c7 --- /dev/null +++ b/data/styles/default/light/symbols/bookmark-bicycle_parking-m.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/data/styles/default/light/symbols/bookmark-bicycle_parking_covered-m.svg b/data/styles/default/light/symbols/bookmark-bicycle_parking_covered-m.svg new file mode 100644 index 000000000..888da2d88 --- /dev/null +++ b/data/styles/default/light/symbols/bookmark-bicycle_parking_covered-m.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/data/styles/default/light/symbols/bookmark-bicycle_rental-m.svg b/data/styles/default/light/symbols/bookmark-bicycle_rental-m.svg new file mode 100644 index 000000000..a5cdbbf73 --- /dev/null +++ b/data/styles/default/light/symbols/bookmark-bicycle_rental-m.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/data/styles/default/light/symbols/search-result-bicycle_parking-covered.svg b/data/styles/default/light/symbols/search-result-bicycle_parking-covered.svg new file mode 100644 index 000000000..f8c7ad2ed --- /dev/null +++ b/data/styles/default/light/symbols/search-result-bicycle_parking-covered.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/data/styles/default/light/symbols/search-result-bicycle_parking.svg b/data/styles/default/light/symbols/search-result-bicycle_parking.svg new file mode 100644 index 000000000..3198e27ce --- /dev/null +++ b/data/styles/default/light/symbols/search-result-bicycle_parking.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/data/styles/default/light/symbols/search-result-bicycle_rental.svg b/data/styles/default/light/symbols/search-result-bicycle_rental.svg new file mode 100644 index 000000000..e03477152 --- /dev/null +++ b/data/styles/default/light/symbols/search-result-bicycle_rental.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparking.imageset/Contents.json b/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparking.imageset/Contents.json new file mode 100644 index 000000000..5be0ed61d --- /dev/null +++ b/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparking.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "ic_bm_bicycleparking.svg" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparking.imageset/ic_bm_bicycleparking.svg b/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparking.imageset/ic_bm_bicycleparking.svg new file mode 100644 index 000000000..a9264d81c --- /dev/null +++ b/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparking.imageset/ic_bm_bicycleparking.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparkingcovered.imageset/Contents.json b/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparkingcovered.imageset/Contents.json new file mode 100644 index 000000000..23c56f5ae --- /dev/null +++ b/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparkingcovered.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "ic_bm_bicycleparkingcovered.svg" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparkingcovered.imageset/ic_bm_bicycleparkingcovered.svg b/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparkingcovered.imageset/ic_bm_bicycleparkingcovered.svg new file mode 100644 index 000000000..faf83991d --- /dev/null +++ b/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicycleparkingcovered.imageset/ic_bm_bicycleparkingcovered.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicyclerental.imageset/Contents.json b/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicyclerental.imageset/Contents.json new file mode 100644 index 000000000..26b6b2cc4 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicyclerental.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "ic_bm_bicyclerental.svg" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicyclerental.imageset/ic_bm_bicyclerental.svg b/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicyclerental.imageset/ic_bm_bicyclerental.svg new file mode 100644 index 000000000..88675f2a3 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Bookmarks/ic_bm_bicyclerental.imageset/ic_bm_bicyclerental.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/kml/types.hpp b/kml/types.hpp index dba079ac4..64957bc62 100644 --- a/kml/types.hpp +++ b/kml/types.hpp @@ -185,6 +185,9 @@ enum class BookmarkIcon : uint16_t Theatre, Information, ChargingStation, + BicycleParking, + BicycleParkingCovered, + BicycleRental, Count }; @@ -228,6 +231,9 @@ inline std::string ToString(BookmarkIcon icon) case Theatre: return "Theatre"; case Information: return "Information"; case ChargingStation: return "ChargingStation"; + case BicycleParking: return "BicycleParking"; + case BicycleParkingCovered: return "BicycleParkingCovered"; + case BicycleRental: return "BicycleRental"; case Count: return {}; } UNREACHABLE(); diff --git a/map/bookmark.cpp b/map/bookmark.cpp index 5b03e3cec..9f379dfcb 100644 --- a/map/bookmark.cpp +++ b/map/bookmark.cpp @@ -48,6 +48,9 @@ std::string GetBookmarkIconType(kml::BookmarkIcon const & icon) case kml::BookmarkIcon::Theatre: return "theatre"; case kml::BookmarkIcon::Information: return "information"; case kml::BookmarkIcon::ChargingStation: return "charging_station"; + case kml::BookmarkIcon::BicycleParking: return "bicycle_parking"; + case kml::BookmarkIcon::BicycleParkingCovered: return "bicycle_parking_covered"; + case kml::BookmarkIcon::BicycleRental: return "bicycle_rental"; case kml::BookmarkIcon::Count: ASSERT(false, ("Invalid bookmark icon type")); return {}; diff --git a/map/bookmark_helpers.cpp b/map/bookmark_helpers.cpp index 4f126c842..8d1e67203 100644 --- a/map/bookmark_helpers.cpp +++ b/map/bookmark_helpers.cpp @@ -134,7 +134,10 @@ std::map const kFeatureTypeToBookmarkMatchInfo = {"leisure-nature_reserve", {kml::BookmarkIcon::Park, BookmarkBaseType::Park}}, {"leisure-park", {kml::BookmarkIcon::Park, BookmarkBaseType::Park}}, - {"amenity-bicycle_parking", {kml::BookmarkIcon::Parking, BookmarkBaseType::Parking}}, + {"amenity-bicycle_parking", {kml::BookmarkIcon::BicycleParking, BookmarkBaseType::Parking}}, + {"amenity-bicycle_parking-covered", {kml::BookmarkIcon::BicycleParkingCovered, BookmarkBaseType::Parking}}, + {"amenity-bicycle_rental", {kml::BookmarkIcon::BicycleRental, BookmarkBaseType::Parking}}, + {"amenity-motorcycle_parking", {kml::BookmarkIcon::Parking, BookmarkBaseType::Parking}}, {"amenity-parking", {kml::BookmarkIcon::Parking, BookmarkBaseType::Parking}}, {"highway-services", {kml::BookmarkIcon::Parking, BookmarkBaseType::Parking}}, diff --git a/map/search_mark.cpp b/map/search_mark.cpp index 2454eefb4..e0f3cf3b0 100644 --- a/map/search_mark.cpp +++ b/map/search_mark.cpp @@ -72,6 +72,9 @@ enum SearchMarkPoint::SearchMarkType : uint8_t Pharmacy, DrinkingWater, DrinkingWaterNo, + BicycleParking, + BicycleParkingCovered, + BicycleRental, NotFound, // Service value used in developer tools. Count @@ -142,6 +145,9 @@ std::array const kSymbols = { "search-result-pharmacy", // Pharmacy. "search-result-drinking-water", // DrinkingWater. "search-result-drinking-water-no", // DrinkingWaterNo. + "search-result-bicycle_parking", // BicycleParking. + "search-result-bicycle_parking-covered",// BicycleParkingCovered. + "search-result-bicycle_rental", // BicycleRental. "non-found-search-result", // NotFound. @@ -284,6 +290,9 @@ private: {{"man_made", "water_tap", "drinking_water_no"}, SearchMarkType::DrinkingWaterNo}, {{"man_made", "water_well", "drinking_water_no"}, SearchMarkType::DrinkingWaterNo}, {{"natural", "spring", "drinking_water_no"}, SearchMarkType::DrinkingWaterNo}, + {{"amenity", "bicycle_parking"}, SearchMarkType::BicycleParking}, + {{"amenity", "bicycle_parking", "covered"}, SearchMarkType::BicycleParkingCovered}, + {{"amenity", "bicycle_rental"}, SearchMarkType::BicycleRental}, }; m_searchMarkTypes.reserve(std::size(table));