diff --git a/android/sdk/src/main/res/values-de/types_strings.xml b/android/sdk/src/main/res/values-de/types_strings.xml
index 4ab930d7d..fd2f88661 100644
--- a/android/sdk/src/main/res/values-de/types_strings.xml
+++ b/android/sdk/src/main/res/values-de/types_strings.xml
@@ -42,10 +42,11 @@
Glücksspiel
Spielhalle für Erwachsene
Spielhalle für Unterhaltungsspiele
- Ladestation
- Fahrrad-Ladestation
- Kfz-Ladestation
- Kfz-Ladestation
+ Ladestation
+ Fahrräder
+ Motorräder
+ Autos
+ Begrenzte Kapazität
Kindertagesstätte
Kino
Bowlingbahn
diff --git a/android/sdk/src/main/res/values/types_strings.xml b/android/sdk/src/main/res/values/types_strings.xml
index 7570bd104..078cd2a24 100644
--- a/android/sdk/src/main/res/values/types_strings.xml
+++ b/android/sdk/src/main/res/values/types_strings.xml
@@ -52,10 +52,11 @@
Gambling
Adult Gaming Centre
Arcade
- Charging Station
- Bicycle Charging Station
- Car Charging Station
- Car Charging Point
+ Charging Station
+ Bicycles
+ Motorcycles
+ Cars
+ Limited Capacity
Nursery
Cinema
Media Studio
diff --git a/data/mapcss-mapping.csv b/data/mapcss-mapping.csv
index 70b7dbeae..a23fd4603 100644
--- a/data/mapcss-mapping.csv
+++ b/data/mapcss-mapping.csv
@@ -301,7 +301,7 @@ railway|crossing;197;
boundary|national_park;198;
deprecated:natural|wood|deciduous:01.2020;[natural=wood][wood=deciduous],[natural=wood][leaf_type=deciduous],[natural=wood][leaf_cycle=deciduous];x;name;int_name;199;landuse|forest|deciduous
waterway|dam;200;
-amenity|charging_station|motorcar|small;[amenity=charging_station][motorcar?][!capacity],[amenity=charging_station][motorcar?][capacity=1],[amenity=charging_station][motorcar?][capacity=2];;name;int_name;201;
+amenity|charging_station|small;[amenity=charging_station][motorcar?][!capacity],[amenity=charging_station][motorcar?][capacity=1],[amenity=charging_station][motorcar?][capacity=2],[amenity=charging_station][!capacity],[amenity=charging_station][capacity=1],[amenity=charging_station][capacity=2],;;name;int_name;201;
leisure|golf_course;202;
highway|service|bridge;[highway=service][bridge?];;name;int_name;203;
# ~250K usages.
@@ -405,12 +405,12 @@ highway|secondary|tunnel;[highway=secondary][tunnel?];;name;int_name;297;
# TODO: its a mismapping likely, if there is a bridge structure still, then it should be railway=disused.
railway|abandoned|bridge;[railway=abandoned][bridge?];;name;int_name;298;
man_made|lighthouse;299;
-deprecated:highway|path|demanding_mountain_hiking:04.2024;[highway=path][sac_scale=demanding_mountain_hiking];x;name;int_name;300;highway|path|difficult
+amenity|charging_station|motorcycle;[amenity=charging_station][motorcycle?];;name;int_name;300;
man_made|storage_tank;301;
man_made|silo;302;
power|generator;303;
highway|pedestrian|bridge;[highway=pedestrian][bridge?];;name;int_name;304;
-amenity|charging_station|motorcar;[amenity=charging_station][motorcar?][capacity?];;name;int_name;305;
+amenity|charging_station|motorcar;[amenity=charging_station][motorcar?][capacity?],[amenity=charging_station][motorcar?];;name;int_name;305;
natural|saddle;306;
mountain_pass;[mountain_pass];;name;int_name;307;
highway|raceway;308;
@@ -419,7 +419,7 @@ highway|primary_link|bridge;[highway=primary_link][bridge?];;name;int_name;310;
man_made|tower|communication;[man_made=tower][tower:type=communication];;name;int_name;311;
sport|equestrian;312;
tourism|information|office;[tourism=information][information=office];;name;int_name;313;
-deprecated:highway|footway|hiking:04.2024;[highway=footway][sac_scale=hiking];x;name;int_name;314;highway|path
+amenity|charging_station|carless;[amenity=charging_station][motorcar=not],[amenity=charging_station][motorcar=no];;name;int_name;314;
aeroway|gate;315;
# TODO: railway=preserved is deprecated in OSM, recommended mapping is railway:preserved=yes + railway=*
railway|preserved;316;
@@ -1192,7 +1192,7 @@ shop|tyres;1064;
craft|beekeeper;1065;
amenity|car_wash;1066;
amenity|veterinary;1067;
-amenity|charging_station;1068;
+amenity|charging_station|general;[amenity=charging_station];;name;int_name;1068;
amenity|childcare;1069;
craft|blacksmith;1070;
amenity|bicycle_parking;1071;
diff --git a/data/styles/default/dark/symbols/charging-station-m.svg b/data/styles/default/dark/symbols/charging_station-m.svg
similarity index 100%
rename from data/styles/default/dark/symbols/charging-station-m.svg
rename to data/styles/default/dark/symbols/charging_station-m.svg
diff --git a/data/styles/default/dark/symbols/charging-station-s.svg b/data/styles/default/dark/symbols/charging_station-s.svg
similarity index 100%
rename from data/styles/default/dark/symbols/charging-station-s.svg
rename to data/styles/default/dark/symbols/charging_station-s.svg
diff --git a/data/styles/default/dark/symbols/charging-point-m.svg b/data/styles/default/dark/symbols/charging_station-small-m.svg
similarity index 100%
rename from data/styles/default/dark/symbols/charging-point-m.svg
rename to data/styles/default/dark/symbols/charging_station-small-m.svg
diff --git a/data/styles/default/dark/symbols/charging-point-s.svg b/data/styles/default/dark/symbols/charging_station-small-s.svg
similarity index 100%
rename from data/styles/default/dark/symbols/charging-point-s.svg
rename to data/styles/default/dark/symbols/charging_station-small-s.svg
diff --git a/data/styles/default/include/Basemap.mapcss b/data/styles/default/include/Basemap.mapcss
index 56b5a14e6..b70af47c3 100644
--- a/data/styles/default/include/Basemap.mapcss
+++ b/data/styles/default/include/Basemap.mapcss
@@ -558,8 +558,9 @@ area|z15-[amenity=marketplace],
area|z15-[office=diplomatic],
area|z15-[amenity=vehicle_inspection],
area|z15-[amenity=car_wash],
-area|z15-[amenity=charging_station][motorcar?],
area|z15-[amenity=fuel],
+area|z15-[amenity=charging_station][motorcar?],
+area|z16-[amenity=charging_station],
area|z15-[amenity=motorcycle_parking],
area|z15-[amenity=bicycle_parking],
{fill-opacity: 1; fill-color: @general_area;}
diff --git a/data/styles/default/include/Icons.mapcss b/data/styles/default/include/Icons.mapcss
index 696ad0dac..723aeaa25 100644
--- a/data/styles/default/include/Icons.mapcss
+++ b/data/styles/default/include/Icons.mapcss
@@ -2398,18 +2398,28 @@ node|z17-[amenity=fuel],
node|z18-[amenity=fuel],
{font-size: 11;}
+node|z15-[amenity=charging_station][motorcar?],
+node|z16-[amenity=charging_station][motorcycle?],
+node|z16-[amenity=charging_station][bicycle?],
+node|z16-[amenity=charging_station][motorcar=not],
+node|z16-[amenity=charging_station],
+{icon-image: charging_station-small-m.svg;}
+
+node|z14[amenity=charging_station][motorcar?][capacity?],
+{icon-image: charging_station-s.svg;}
+node|z15-[amenity=charging_station][motorcar?][capacity?],
+{icon-image: charging_station-m.svg;}
+
+node|z14[amenity=charging_station][motorcar?][!capacity],
+node|z14[amenity=charging_station][motorcar?][capacity=1],
+node|z14[amenity=charging_station][motorcar?][capacity=2],
+{icon-image: none;}
node|z15-[amenity=charging_station][motorcar?][!capacity],
node|z15-[amenity=charging_station][motorcar?][capacity=1],
node|z15-[amenity=charging_station][motorcar?][capacity=2],
-node|z16-[amenity=charging_station],
-{icon-image: charging-point-m.svg;}
+{icon-image: charging_station-small-m.svg;}
-node|z14[amenity=charging_station][motorcar?][capacity?],
-{icon-image: charging-station-s.svg;}
-node|z15-[amenity=charging_station][motorcar?][capacity?],
-{icon-image: charging-station-m.svg;}
-
-node|z14[amenity=charging_station][motorcar?][capacity?],
+node|z14[amenity=charging_station][motorcar?],
{text-offset: 1;font-size: 10;icon-min-distance: 20;}
node|z15[amenity=charging_station][motorcar?],
{icon-min-distance: 20;}
diff --git a/data/styles/default/include/priorities_1_BG-by-size.prio.txt b/data/styles/default/include/priorities_1_BG-by-size.prio.txt
index 611e3813c..01c10361e 100644
--- a/data/styles/default/include/priorities_1_BG-by-size.prio.txt
+++ b/data/styles/default/include/priorities_1_BG-by-size.prio.txt
@@ -85,8 +85,12 @@ landuse-cemetery-christian # area z10- (also has icon z
=== 180
amenity-car_wash # area z15- (also has icon z17-, caption(optional) z17-)
+amenity-charging_station-bicycle # area z16- (also has icon z16-, caption(optional) z16-)
+amenity-charging_station-carless # area z16- (also has icon z16-, caption(optional) z16-)
+amenity-charging_station-general # area z16- (also has icon z16-, caption(optional) z16-)
amenity-charging_station-motorcar # area z15- (also has icon z14-, caption(optional) z14-)
-amenity-charging_station-motorcar-small # area z15- (also has icon z16-, caption(optional) z16-)
+amenity-charging_station-motorcycle # area z16- (also has icon z16-, caption(optional) z16-)
+amenity-charging_station-small # area z15- (also has icon z15-, caption(optional) z16-)
amenity-courthouse # area z15- (also has icon z17-, caption(optional) z17-)
amenity-fire_station # area z15- (also has icon z16-, caption(optional) z17-)
amenity-fuel # area z15- (also has icon z14-, caption(optional) z14-)
diff --git a/data/styles/default/include/priorities_4_overlays.prio.txt b/data/styles/default/include/priorities_4_overlays.prio.txt
index cb565f11b..1067d125d 100644
--- a/data/styles/default/include/priorities_4_overlays.prio.txt
+++ b/data/styles/default/include/priorities_4_overlays.prio.txt
@@ -374,13 +374,13 @@ tourism-attraction # icon z14- (also has captio
tourism-gallery # icon z15- (also has caption(optional) z15-)
=== 4300
+amenity-charging_station-small # icon z15- (also has caption(optional) z16-, area z15-)
+=== 4280
+
amenity-charging_station-motorcar # icon z14- (also has caption(optional) z14-, area z15-)
amenity-fuel # icon z14- (also has caption(optional) z14-, area z15-)
=== 4270
-amenity-charging_station-motorcar-small # icon z16- (also has caption(optional) z16-, area z15-)
-=== 4260
-
highway-services # icon z14- (also has caption(optional) z14-, area z13-)
=== 4250
@@ -424,13 +424,23 @@ highway-rest_area # icon z15- (also has captio
tourism-camp_site # icon z16- (also has caption(optional) z16-, area z13-)
tourism-caravan_site # icon z16- (also has caption(optional) z16-)
tourism-chalet # icon z16- (also has caption(optional) z16-)
+=== 3850
+
+shop-car_repair-tyres # icon z15- (also has caption(optional) z15-)
=== 3800
-amenity-charging_station # icon z16- (also has caption(optional) z16-)
-amenity-charging_station-bicycle # icon z16- (also has caption(optional) z16-)
-shop-car_repair-tyres # icon z15- (also has caption(optional) z15-)
+amenity-charging_station-motorcycle # icon z16- (also has caption(optional) z16-, area z16-)
+=== 3752
+
+amenity-charging_station-bicycle # icon z16- (also has caption(optional) z16-, area z16-)
+=== 3751
+
+amenity-charging_station-general # icon z16- (also has caption(optional) z16-, area z16-)
=== 3750
+amenity-charging_station-carless # icon z16- (also has caption(optional) z16-, area z16-)
+=== 3749
+
railway-subway_entrance # icon z16- (also has caption(optional) z17-)
railway-subway_entrance-adana # icon z16- (also has caption(optional) z17-)
railway-subway_entrance-algiers # icon z16- (also has caption(optional) z17-)
@@ -1640,13 +1650,13 @@ leisure-swimming_pool-private # icon z17- (also has captio
# tourism-gallery # caption(optional) z15- (also has icon z15-)
# === -5700
+# amenity-charging_station-small # caption(optional) z16- (also has icon z15-, area z15-)
+# === -5720
+
# amenity-charging_station-motorcar # caption(optional) z14- (also has icon z14-, area z15-)
# amenity-fuel # caption(optional) z14- (also has icon z14-, area z15-)
# === -5730
-# amenity-charging_station-motorcar-small # caption(optional) z16- (also has icon z16-, area z15-)
-# === -5740
-
# highway-services # caption(optional) z14- (also has icon z14-, area z13-)
# === -5750
@@ -1690,13 +1700,23 @@ leisure-swimming_pool-private # icon z17- (also has captio
# tourism-camp_site # caption(optional) z16- (also has icon z16-, area z13-)
# tourism-caravan_site # caption(optional) z16- (also has icon z16-)
# tourism-chalet # caption(optional) z16- (also has icon z16-)
+# === -6150
+
+# shop-car_repair-tyres # caption(optional) z15- (also has icon z15-)
# === -6200
-# amenity-charging_station # caption(optional) z16- (also has icon z16-)
-# amenity-charging_station-bicycle # caption(optional) z16- (also has icon z16-)
-# shop-car_repair-tyres # caption(optional) z15- (also has icon z15-)
+# amenity-charging_station-motorcycle # caption(optional) z16- (also has icon z16-, area z16-)
+# === -6248
+
+# amenity-charging_station-bicycle # caption(optional) z16- (also has icon z16-, area z16-)
+# === -6249
+
+# amenity-charging_station-general # caption(optional) z16- (also has icon z16-, area z16-)
# === -6250
+# amenity-charging_station-carless # caption(optional) z16- (also has icon z16-, area z16-)
+# === -6251
+
# railway-subway_entrance # caption(optional) z17- (also has icon z16-)
# railway-subway_entrance-adana # caption(optional) z17- (also has icon z16-)
# railway-subway_entrance-algiers # caption(optional) z17- (also has icon z16-)
diff --git a/data/styles/default/light/symbols/charging-station-m.svg b/data/styles/default/light/symbols/charging_station-m.svg
similarity index 100%
rename from data/styles/default/light/symbols/charging-station-m.svg
rename to data/styles/default/light/symbols/charging_station-m.svg
diff --git a/data/styles/default/light/symbols/charging-station-s.svg b/data/styles/default/light/symbols/charging_station-s.svg
similarity index 100%
rename from data/styles/default/light/symbols/charging-station-s.svg
rename to data/styles/default/light/symbols/charging_station-s.svg
diff --git a/data/styles/default/light/symbols/charging-point-m.svg b/data/styles/default/light/symbols/charging_station-small-m.svg
similarity index 100%
rename from data/styles/default/light/symbols/charging-point-m.svg
rename to data/styles/default/light/symbols/charging_station-small-m.svg
diff --git a/data/styles/default/light/symbols/charging-point-s.svg b/data/styles/default/light/symbols/charging_station-small-s.svg
similarity index 100%
rename from data/styles/default/light/symbols/charging-point-s.svg
rename to data/styles/default/light/symbols/charging_station-small-s.svg
diff --git a/data/styles/outdoors/include/priorities_1_BG-by-size.prio.txt b/data/styles/outdoors/include/priorities_1_BG-by-size.prio.txt
index 9bbf1a277..68c057853 100644
--- a/data/styles/outdoors/include/priorities_1_BG-by-size.prio.txt
+++ b/data/styles/outdoors/include/priorities_1_BG-by-size.prio.txt
@@ -78,6 +78,7 @@ leisure-sports_centre-sport-volleyball # area z13- (also has icon z
leisure-sports_centre-sport-yoga # area z13- (also has icon z16-, caption(optional) z16-)
=== 190
+amenity-courthouse # area z15- (also has icon z17-, caption(optional) z17-)
amenity-grave_yard # area z10- (also has icon z17-, caption(optional) z17-)
amenity-grave_yard-christian # area z10- (also has icon z17-, caption(optional) z17-)
landuse-cemetery # area z10- (also has icon z14-, caption(optional) z15-)
@@ -85,9 +86,12 @@ landuse-cemetery-christian # area z10- (also has icon z
=== 180
amenity-car_wash # area z15- (also has icon z17-, caption(optional) z17-)
+amenity-charging_station-bicycle # area z16- (also has icon z16-, caption(optional) z16-)
+amenity-charging_station-carless # area z16- (also has icon z16-, caption(optional) z16-)
+amenity-charging_station-general # area z16- (also has icon z16-, caption(optional) z16-)
amenity-charging_station-motorcar # area z15- (also has icon z14-, caption(optional) z14-)
-amenity-charging_station-motorcar-small # area z15- (also has icon z16-, caption(optional) z16-)
-amenity-courthouse # area z15- (also has icon z17-, caption(optional) z17-)
+amenity-charging_station-motorcycle # area z16- (also has icon z16-, caption(optional) z16-)
+amenity-charging_station-small # area z15- (also has icon z15-, caption(optional) z16-)
amenity-fire_station # area z15- (also has icon z16-, caption(optional) z17-)
amenity-fuel # area z15- (also has icon z14-, caption(optional) z14-)
amenity-marketplace # area z15- (also has icon z16-, caption(optional) z16-)
diff --git a/data/styles/outdoors/include/priorities_4_overlays.prio.txt b/data/styles/outdoors/include/priorities_4_overlays.prio.txt
index 3ddc0a699..a2c4e3a72 100644
--- a/data/styles/outdoors/include/priorities_4_overlays.prio.txt
+++ b/data/styles/outdoors/include/priorities_4_overlays.prio.txt
@@ -374,13 +374,13 @@ tourism-attraction # icon z14- (also has captio
tourism-gallery # icon z15- (also has caption(optional) z15-)
=== 4300
+amenity-charging_station-small # icon z15- (also has caption(optional) z16-, area z15-)
+=== 4280
+
amenity-charging_station-motorcar # icon z14- (also has caption(optional) z14-, area z15-)
amenity-fuel # icon z14- (also has caption(optional) z14-, area z15-)
=== 4270
-amenity-charging_station-motorcar-small # icon z16- (also has caption(optional) z16-, area z15-)
-=== 4260
-
highway-services # icon z14- (also has caption(optional) z14-, area z13-)
=== 4250
@@ -424,13 +424,23 @@ highway-rest_area # icon z14- (also has captio
tourism-camp_site # icon z13- (also has caption(optional) z13-, area z13-)
tourism-caravan_site # icon z13- (also has caption(optional) z13-)
tourism-chalet # icon z14- (also has caption(optional) z14-)
+=== 3850
+
+shop-car_repair-tyres # icon z15- (also has caption(optional) z15-)
=== 3800
-amenity-charging_station # icon z16- (also has caption(optional) z16-)
-amenity-charging_station-bicycle # icon z16- (also has caption(optional) z16-)
-shop-car_repair-tyres # icon z15- (also has caption(optional) z15-)
+amenity-charging_station-motorcycle # icon z16- (also has caption(optional) z16-, area z16-)
+=== 3752
+
+amenity-charging_station-bicycle # icon z16- (also has caption(optional) z16-, area z16-)
+=== 3751
+
+amenity-charging_station-general # icon z16- (also has caption(optional) z16-, area z16-)
=== 3750
+amenity-charging_station-carless # icon z16- (also has caption(optional) z16-, area z16-)
+=== 3749
+
railway-subway_entrance # icon z16- (also has caption(optional) z17-)
railway-subway_entrance-adana # icon z16- (also has caption(optional) z17-)
railway-subway_entrance-algiers # icon z16- (also has caption(optional) z17-)
@@ -1643,13 +1653,13 @@ leisure-swimming_pool-private # icon z17- (also has captio
# tourism-gallery # caption(optional) z15- (also has icon z15-)
# === -5700
+# amenity-charging_station-small # caption(optional) z16- (also has icon z15-, area z15-)
+# === -5720
+
# amenity-charging_station-motorcar # caption(optional) z14- (also has icon z14-, area z15-)
# amenity-fuel # caption(optional) z14- (also has icon z14-, area z15-)
# === -5730
-# amenity-charging_station-motorcar-small # caption(optional) z16- (also has icon z16-, area z15-)
-# === -5740
-
# highway-services # caption(optional) z14- (also has icon z14-, area z13-)
# === -5750
@@ -1693,13 +1703,23 @@ leisure-swimming_pool-private # icon z17- (also has captio
# tourism-camp_site # caption(optional) z13- (also has icon z13-, area z13-)
# tourism-caravan_site # caption(optional) z13- (also has icon z13-)
# tourism-chalet # caption(optional) z14- (also has icon z14-)
+# === -6150
+
+# shop-car_repair-tyres # caption(optional) z15- (also has icon z15-)
# === -6200
-# amenity-charging_station # caption(optional) z16- (also has icon z16-)
-# amenity-charging_station-bicycle # caption(optional) z16- (also has icon z16-)
-# shop-car_repair-tyres # caption(optional) z15- (also has icon z15-)
+# amenity-charging_station-motorcycle # caption(optional) z16- (also has icon z16-, area z16-)
+# === -6248
+
+# amenity-charging_station-bicycle # caption(optional) z16- (also has icon z16-, area z16-)
+# === -6249
+
+# amenity-charging_station-general # caption(optional) z16- (also has icon z16-, area z16-)
# === -6250
+# amenity-charging_station-carless # caption(optional) z16- (also has icon z16-, area z16-)
+# === -6251
+
# railway-subway_entrance # caption(optional) z17- (also has icon z16-)
# railway-subway_entrance-adana # caption(optional) z17- (also has icon z16-)
# railway-subway_entrance-algiers # caption(optional) z17- (also has icon z16-)
diff --git a/data/styles/vehicle/include/Basemap.mapcss b/data/styles/vehicle/include/Basemap.mapcss
index 7e6ba44cc..753d54d73 100644
--- a/data/styles/vehicle/include/Basemap.mapcss
+++ b/data/styles/vehicle/include/Basemap.mapcss
@@ -349,8 +349,9 @@ area|z13-[highway=services],
area|z13-[highway=rest_area],
area|z13-[landuse=garages],
-area|z15-[amenity=charging_station][motorcar?],
area|z15-[amenity=fuel],
+area|z15-[amenity=charging_station][motorcar?],
+area|z16-[amenity=charging_station],
area|z17-[amenity=vehicle_inspection],
area|z17-[amenity=car_wash],
area|z17-[amenity=motorcycle_parking],
diff --git a/data/styles/vehicle/include/Icons.mapcss b/data/styles/vehicle/include/Icons.mapcss
index 864fb22c7..80957d921 100644
--- a/data/styles/vehicle/include/Icons.mapcss
+++ b/data/styles/vehicle/include/Icons.mapcss
@@ -626,16 +626,28 @@ node|z17[amenity=fuel],
node|z18-[amenity=fuel],
{icon-image: fuel-m.svg;font-size: 14.5;}
-node|z14-[amenity=charging_station][motorcar?][!capacity],
-node|z14-[amenity=charging_station][motorcar?][capacity=1],
-node|z14-[amenity=charging_station][motorcar?][capacity=2],
+node|z15-[amenity=charging_station][motorcar?],
+node|z16-[amenity=charging_station][motorcycle?],
+node|z16-[amenity=charging_station][bicycle?],
+node|z16-[amenity=charging_station][motorcar=not],
node|z16-[amenity=charging_station],
-{icon-image: charging-point-m.svg;}
-
-node|z14-[amenity=charging_station][motorcar?][capacity?],
-{icon-image: charging-station-m.svg;}
+{icon-image: charging_station-small-m.svg;}
node|z14[amenity=charging_station][motorcar?][capacity?],
+{icon-image: charging_station-s.svg;}
+node|z15-[amenity=charging_station][motorcar?][capacity?],
+{icon-image: charging_station-m.svg;}
+
+node|z14[amenity=charging_station][motorcar?][!capacity],
+node|z14[amenity=charging_station][motorcar?][capacity=1],
+node|z14[amenity=charging_station][motorcar?][capacity=2],
+{icon-image: none;}
+node|z15-[amenity=charging_station][motorcar?][!capacity],
+node|z15-[amenity=charging_station][motorcar?][capacity=1],
+node|z15-[amenity=charging_station][motorcar?][capacity=2],
+{icon-image: charging_station-small-m.svg;}
+
+node|z14[amenity=charging_station][motorcar?],
{text-offset: 1;font-size: 12.25;icon-min-distance: 20;}
node|z15[amenity=charging_station][motorcar?],
{icon-min-distance: 20;font-size: 12.5;}
diff --git a/data/styles/vehicle/include/priorities_1_BG-by-size.prio.txt b/data/styles/vehicle/include/priorities_1_BG-by-size.prio.txt
index 725d467a9..1aef092aa 100644
--- a/data/styles/vehicle/include/priorities_1_BG-by-size.prio.txt
+++ b/data/styles/vehicle/include/priorities_1_BG-by-size.prio.txt
@@ -33,8 +33,12 @@ amenity-parking-street_side-private # area z15- (also has icon z
=== 160
amenity-car_wash # area z17- (also has icon z17-, caption(optional) z17-)
+amenity-charging_station-bicycle # area z16- (also has icon z16-, caption(optional) z16-)
+amenity-charging_station-carless # area z16- (also has icon z16-, caption(optional) z16-)
+amenity-charging_station-general # area z16- (also has icon z16-, caption(optional) z16-)
amenity-charging_station-motorcar # area z15- (also has icon z14-, caption(optional) z14-)
-amenity-charging_station-motorcar-small # area z15- (also has icon z16-, caption(optional) z16-)
+amenity-charging_station-motorcycle # area z16- (also has icon z16-, caption(optional) z16-)
+amenity-charging_station-small # area z15- (also has icon z15-, caption(optional) z16-)
amenity-fuel # area z15- (also has icon z12-, caption(optional) z12-)
amenity-vehicle_inspection # area z17- (also has icon z17-)
highway-rest_area # area z13- (also has icon z14-, caption(optional) z14-)
diff --git a/data/styles/vehicle/include/priorities_4_overlays.prio.txt b/data/styles/vehicle/include/priorities_4_overlays.prio.txt
index 071efc7cc..abdcbfe09 100644
--- a/data/styles/vehicle/include/priorities_4_overlays.prio.txt
+++ b/data/styles/vehicle/include/priorities_4_overlays.prio.txt
@@ -170,17 +170,28 @@ aeroway-aerodrome-international # icon z7- (also has caption
place-town # caption z8-
=== 3250
+amenity-charging_station-small # icon z15- (also has caption(optional) z16-, area z15-)
+=== 3210
+
amenity-charging_station-motorcar # icon z14- (also has caption(optional) z14-, area z15-)
amenity-fuel # icon z12- (also has caption(optional) z12-, area z15-)
=== 3200
-amenity-charging_station-motorcar-small # icon z16- (also has caption(optional) z16-, area z15-)
-=== 3190
-
-amenity-charging_station # icon z16- (also has caption(optional) z16-)
amenity-vending_machine-fuel # icon z17- (also has caption(optional) z17-)
+=== 3153
+
+amenity-charging_station-motorcycle # icon z16- (also has caption(optional) z16-, area z16-)
+=== 3152
+
+amenity-charging_station-bicycle # icon z16- (also has caption(optional) z16-, area z16-)
+=== 3151
+
+amenity-charging_station-general # icon z16- (also has caption(optional) z16-, area z16-)
=== 3150
+amenity-charging_station-carless # icon z16- (also has caption(optional) z16-, area z16-)
+=== 3149
+
railway-station-subway-moscow # icon z11-15 (also has caption(optional) z15)
railway-station-subway-spb # icon z11-16 (also has caption(optional) z15-16)
=== 3100
@@ -528,9 +539,6 @@ natural-beach-gravel # caption z15- (also has are
natural-beach-sand # caption z15- (also has area z10-)
=== 900
-amenity-charging_station-bicycle # icon z16- (also has caption(optional) z16-)
-=== 850
-
historic-boundary_stone # icon z16- (also has caption(optional) z16-)
historic-gallows # icon z16- (also has caption(optional) z16-)
historic-pillory # icon z16- (also has caption(optional) z16-)
@@ -784,17 +792,28 @@ entrance-emergency # icon z19- (also has captio
# aeroway-aerodrome-international # caption(optional) z10- (also has icon z7-, area z10-)
# === -6700
+# amenity-charging_station-small # caption(optional) z16- (also has icon z15-, area z15-)
+# === -6790
+
# amenity-charging_station-motorcar # caption(optional) z14- (also has icon z14-, area z15-)
# amenity-fuel # caption(optional) z12- (also has icon z12-, area z15-)
# === -6800
-# amenity-charging_station-motorcar-small # caption(optional) z16- (also has icon z16-, area z15-)
-# === -6810
-
-# amenity-charging_station # caption(optional) z16- (also has icon z16-)
# amenity-vending_machine-fuel # caption(optional) z17- (also has icon z17-)
+# === -6847
+
+# amenity-charging_station-motorcycle # caption(optional) z16- (also has icon z16-, area z16-)
+# === -6848
+
+# amenity-charging_station-bicycle # caption(optional) z16- (also has icon z16-, area z16-)
+# === -6849
+
+# amenity-charging_station-general # caption(optional) z16- (also has icon z16-, area z16-)
# === -6850
+# amenity-charging_station-carless # caption(optional) z16- (also has icon z16-, area z16-)
+# === -6851
+
# railway-station-subway-moscow # caption(optional) z15 (also has icon z11-15)
# railway-station-subway-spb # caption(optional) z15-16 (also has icon z11-16)
# === -6900
@@ -1056,9 +1075,6 @@ entrance-emergency # icon z19- (also has captio
# amenity-hospital # caption(optional) z15- (also has icon z15-)
# === -9000
-# amenity-charging_station-bicycle # caption(optional) z16- (also has icon z16-)
-# === -9150
-
# historic-boundary_stone # caption(optional) z16- (also has icon z16-)
# historic-gallows # caption(optional) z16- (also has icon z16-)
# historic-pillory # caption(optional) z16- (also has icon z16-)
diff --git a/iphone/Maps/LocalizedStrings/de.lproj/LocalizableTypes.strings b/iphone/Maps/LocalizedStrings/de.lproj/LocalizableTypes.strings
index 29f9ea096..f9c8a4895 100644
--- a/iphone/Maps/LocalizedStrings/de.lproj/LocalizableTypes.strings
+++ b/iphone/Maps/LocalizedStrings/de.lproj/LocalizableTypes.strings
@@ -42,10 +42,11 @@
"type.amenity.gambling" = "Glücksspiel";
"type.leisure.adult_gaming_centre" = "Spielhalle für Erwachsene";
"type.leisure.amusement_arcade" = "Spielhalle für Unterhaltungsspiele";
-"type.amenity.charging_station" = "Ladestation";
-"type.amenity.charging_station.bicycle" = "Fahrrad-Ladestation";
-"type.amenity.charging_station.motorcar" = "Kfz-Ladestation";
-"type.amenity.charging_station.motorcar.small" = "Kfz-Ladestation";
+"type.amenity.charging_station.general" = "Ladestation";
+"type.amenity.charging_station.motorcar" = "Autos";
+"type.amenity.charging_station.motorcycle" = "Motorräder";
+"type.amenity.charging_station.bicycle" = "Fahrräder";
+"type.amenity.charging_station.small" = "Begrenzte Kapazität";
"type.amenity.childcare" = "Kindertagesstätte";
"type.amenity.cinema" = "Kino";
"type.leisure.bowling_alley" = "Bowlingbahn";
diff --git a/iphone/Maps/LocalizedStrings/en-GB.lproj/LocalizableTypes.strings b/iphone/Maps/LocalizedStrings/en-GB.lproj/LocalizableTypes.strings
index c91d6880f..6974805d6 100644
--- a/iphone/Maps/LocalizedStrings/en-GB.lproj/LocalizableTypes.strings
+++ b/iphone/Maps/LocalizedStrings/en-GB.lproj/LocalizableTypes.strings
@@ -47,10 +47,11 @@
"type.amenity.gambling" = "Gambling";
"type.leisure.adult_gaming_centre" = "Adult Gaming Centre";
"type.leisure.amusement_arcade" = "Arcade";
-"type.amenity.charging_station" = "Charging Station";
-"type.amenity.charging_station.bicycle" = "Bicycle Charging Station";
-"type.amenity.charging_station.motorcar" = "Car Charging Station";
-"type.amenity.charging_station.motorcar.small" = "Car Charging Point";
+"type.amenity.charging_station.general" = "Charging Station";
+"type.amenity.charging_station.motorcar" = "Cars";
+"type.amenity.charging_station.motorcycle" = "Motorcycles";
+"type.amenity.charging_station.bicycle" = "Bicycles";
+"type.amenity.charging_station.small" = "Limited Capacity";
"type.amenity.childcare" = "Nursery";
"type.amenity.cinema" = "Cinema";
"type.leisure.bowling_alley" = "Bowling Alley";
diff --git a/iphone/Maps/LocalizedStrings/en.lproj/LocalizableTypes.strings b/iphone/Maps/LocalizedStrings/en.lproj/LocalizableTypes.strings
index 436f96b7a..9d5e5b90d 100644
--- a/iphone/Maps/LocalizedStrings/en.lproj/LocalizableTypes.strings
+++ b/iphone/Maps/LocalizedStrings/en.lproj/LocalizableTypes.strings
@@ -54,10 +54,11 @@
"type.amenity.studio" = "Media Studio";
"type.leisure.adult_gaming_centre" = "Adult Gaming Centre";
"type.leisure.amusement_arcade" = "Arcade";
-"type.amenity.charging_station" = "Charging Station";
-"type.amenity.charging_station.bicycle" = "Bicycle Charging Station";
-"type.amenity.charging_station.motorcar" = "Car Charging Station";
-"type.amenity.charging_station.motorcar.small" = "Car Charging Point";
+"type.amenity.charging_station.general" = "Charging Station";
+"type.amenity.charging_station.motorcar" = "Cars";
+"type.amenity.charging_station.motorcycle" = "Motorcycles";
+"type.amenity.charging_station.bicycle" = "Bicycles";
+"type.amenity.charging_station.small" = "Limited Capacity";
"type.amenity.childcare" = "Nursery";
"type.amenity.cinema" = "Cinema";
"type.leisure.bowling_alley" = "Bowling Alley";
diff --git a/libs/indexer/feature_data.cpp b/libs/indexer/feature_data.cpp
index a67779c3c..74f75935e 100644
--- a/libs/indexer/feature_data.cpp
+++ b/libs/indexer/feature_data.cpp
@@ -191,9 +191,21 @@ void TypesHolder::SortBySpec()
auto const getPriority = [&cl](uint32_t type) { return cl.GetObject(type)->GetMaxOverlaysPriority(); };
auto const & checker = UselessTypesChecker::Instance();
+ auto const & isChargingStationChecker = ftypes::IsCharingStationChecker::Instance();
+ auto const & isChargingStationSmallChecker = ftypes::IsCharingStationSmallChecker::Instance();
- std::stable_sort(begin(), end(), [&checker, &getPriority](uint32_t t1, uint32_t t2)
+ std::stable_sort(begin(), end(), [&checker, &getPriority, &isChargingStationChecker, &isChargingStationSmallChecker](uint32_t t1, uint32_t t2)
{
+ if (isChargingStationSmallChecker(t1) && !isChargingStationSmallChecker(t2))
+ return false;
+ else if (isChargingStationSmallChecker(t1) && !isChargingStationSmallChecker(t2))
+ return true;
+
+ if (isChargingStationChecker(t1) && !isChargingStationChecker(t2))
+ return true;
+ else if (isChargingStationChecker(t2) && !isChargingStationChecker(t1))
+ return false;
+
int const p1 = getPriority(t1);
int const p2 = getPriority(t2);
if (p1 != p2)
@@ -403,6 +415,13 @@ void FeatureParams::SetRwSubwayType(char const * cityName)
FeatureParams::TypesResult FeatureParams::FinishAddingTypesEx()
{
+ auto const & cl = classif();
+ auto charingStation = cl.GetTypeByPath({"amenity", "charging_station", "general"});
+ auto motorcarCharingStation = cl.GetTypeByPath({"amenity", "charging_station", "motorcar"});
+ auto carelessCharingStation = cl.GetTypeByPath({"amenity", "charging_station", "carless"});
+ if (IsTypeExist(charingStation) && !IsTypeExist(motorcarCharingStation) && !IsTypeExist(carelessCharingStation))
+ AddType(motorcarCharingStation);
+
base::SortUnique(m_types);
TypesResult res = TYPES_GOOD;
diff --git a/libs/indexer/ftypes_matcher.cpp b/libs/indexer/ftypes_matcher.cpp
index 35f51e9f3..c50b957bb 100644
--- a/libs/indexer/ftypes_matcher.cpp
+++ b/libs/indexer/ftypes_matcher.cpp
@@ -753,6 +753,30 @@ IsDirectionalChecker::IsDirectionalChecker() : ftypes::BaseChecker(1 /* level */
m_types.push_back(c.GetTypeByPath({"lateral"}));
}
+IsCharingStationChecker::IsCharingStationChecker() : ftypes::BaseChecker(3 /* level */)
+{
+ Classificator const & c = classif();
+ m_types.push_back(c.GetTypeByPath({"amenity", "charging_station", "general"}));
+}
+
+IsCharingStationCarChecker::IsCharingStationCarChecker() : ftypes::BaseChecker(3 /* level */)
+{
+ Classificator const & c = classif();
+ m_types.push_back(c.GetTypeByPath({"amenity", "charging_station", "motorcar"}));
+}
+
+IsCharingStationCarlessChecker::IsCharingStationCarlessChecker() : ftypes::BaseChecker(3 /* level */)
+{
+ Classificator const & c = classif();
+ m_types.push_back(c.GetTypeByPath({"amenity", "charging_station", "carless"}));
+}
+
+IsCharingStationSmallChecker::IsCharingStationSmallChecker() : ftypes::BaseChecker(3 /* level */)
+{
+ Classificator const & c = classif();
+ m_types.push_back(c.GetTypeByPath({"amenity", "charging_station", "small"}));
+}
+
IsTaxiChecker::IsTaxiChecker()
{
Classificator const & c = classif();
diff --git a/libs/indexer/ftypes_matcher.hpp b/libs/indexer/ftypes_matcher.hpp
index a5689de48..ed036a26f 100644
--- a/libs/indexer/ftypes_matcher.hpp
+++ b/libs/indexer/ftypes_matcher.hpp
@@ -519,6 +519,38 @@ public:
DECLARE_CHECKER_INSTANCE(IsDirectionalChecker);
};
+class IsCharingStationChecker : public ftypes::BaseChecker
+{
+ IsCharingStationChecker();
+
+public:
+ DECLARE_CHECKER_INSTANCE(IsCharingStationChecker);
+};
+
+class IsCharingStationCarChecker : public ftypes::BaseChecker
+{
+ IsCharingStationCarChecker();
+
+public:
+ DECLARE_CHECKER_INSTANCE(IsCharingStationCarChecker);
+};
+
+class IsCharingStationCarlessChecker : public ftypes::BaseChecker
+{
+ IsCharingStationCarlessChecker();
+
+public:
+ DECLARE_CHECKER_INSTANCE(IsCharingStationCarlessChecker);
+};
+
+class IsCharingStationSmallChecker : public ftypes::BaseChecker
+{
+ IsCharingStationSmallChecker();
+
+public:
+ DECLARE_CHECKER_INSTANCE(IsCharingStationSmallChecker);
+};
+
class IsTaxiChecker : public BaseChecker
{
IsTaxiChecker();
diff --git a/libs/indexer/map_object.cpp b/libs/indexer/map_object.cpp
index 60020d005..87c0aa990 100644
--- a/libs/indexer/map_object.cpp
+++ b/libs/indexer/map_object.cpp
@@ -121,12 +121,19 @@ std::string MapObject::GetLocalizedAllTypes(bool withMainType) const
auto const & isPoi = ftypes::IsPoiChecker::Instance();
auto const & isDirectional = ftypes::IsDirectionalChecker::Instance();
auto const & amenityChecker = ftypes::IsAmenityChecker::Instance();
+ auto const & charingStationCarChecker = ftypes::IsCharingStationCarChecker::Instance();
+ auto const & charingStationCarlessChecker = ftypes::IsCharingStationCarlessChecker::Instance();
+ auto const & charingStationSmallChecker = ftypes::IsCharingStationSmallChecker::Instance();
std::ostringstream oss;
bool isMainType = true;
bool isFirst = true;
for (auto const type : copy)
{
+ // Ignore some charing stations
+ if (charingStationCarlessChecker(type) || ((charingStationCarChecker(type) || charingStationSmallChecker(type)) && charingStationCarlessChecker(copy)))
+ continue;
+
if (isMainType && !withMainType)
{
isMainType = false;