diff --git a/src/lib/marble/StyleBuilder.cpp b/src/lib/marble/StyleBuilder.cpp --- a/src/lib/marble/StyleBuilder.cpp +++ b/src/lib/marble/StyleBuilder.cpp @@ -468,6 +468,7 @@ m_defaultStyle[GeoDataPlacemark::AmenityTownHall] = createOsmPOIStyle(osmFont, "amenity/town_hall.16", amenityColor); m_defaultStyle[GeoDataPlacemark::AmenityWasteBasket] = createOsmPOIStyle(osmFont, "individual/waste_basket.10", amenityColor); m_defaultStyle[GeoDataPlacemark::AmenityWasteBasket]->iconStyle().setScale(0.75); + m_defaultStyle[GeoDataPlacemark::AmenityChargingStation] = createOsmPOIStyle(osmFont, "transportation/charging_station"); m_defaultStyle[GeoDataPlacemark::AmenityDrinkingWater] = createOsmPOIStyle(osmFont, "amenity/drinking_water.16", amenityColor); @@ -838,6 +839,7 @@ s_visualCategories[OsmTag("amenity", "waste_basket")] = GeoDataPlacemark::AmenityWasteBasket; s_visualCategories[OsmTag("amenity", "drinking_water")] = GeoDataPlacemark::AmenityDrinkingWater; s_visualCategories[OsmTag("amenity", "graveyard")] = GeoDataPlacemark::AmenityGraveyard; + s_visualCategories[OsmTag("amenity", "charging_station")] = GeoDataPlacemark::AmenityChargingStation; s_visualCategories[OsmTag("amenity", "dentist")] = GeoDataPlacemark::HealthDentist; s_visualCategories[OsmTag("amenity", "pharmacy")] = GeoDataPlacemark::HealthPharmacy; @@ -1142,6 +1144,7 @@ s_defaultMinZoomLevels[GeoDataPlacemark::AmenityPrison]= 17; s_defaultMinZoomLevels[GeoDataPlacemark::AmenityRecycling]= 17; s_defaultMinZoomLevels[GeoDataPlacemark::AmenityShelter]= 17; + s_defaultMinZoomLevels[GeoDataPlacemark::AmenityChargingStation] = 17; s_defaultMinZoomLevels[GeoDataPlacemark::BarrierCityWall] = 15; s_defaultMinZoomLevels[GeoDataPlacemark::BarrierGate] = 17; @@ -1925,6 +1928,7 @@ visualCategoryNames[GeoDataPlacemark::AmenityWasteBasket] = "AmenityWasteBasket"; visualCategoryNames[GeoDataPlacemark::AmenityDrinkingWater] = "AmenityDrinkingWater"; visualCategoryNames[GeoDataPlacemark::AmenityGraveyard] = "AmenityGraveyard"; + visualCategoryNames[GeoDataPlacemark::AmenityChargingStation] = "ChargingStation"; visualCategoryNames[GeoDataPlacemark::BarrierCityWall] = "BarrierCityWall"; visualCategoryNames[GeoDataPlacemark::BarrierGate] = "BarrierGate"; visualCategoryNames[GeoDataPlacemark::BarrierLiftGate] = "BarrierLiftGate"; diff --git a/src/lib/marble/declarative/Placemark.cpp b/src/lib/marble/declarative/Placemark.cpp --- a/src/lib/marble/declarative/Placemark.cpp +++ b/src/lib/marble/declarative/Placemark.cpp @@ -257,6 +257,33 @@ addTagDescription(m_description, QStringLiteral("surveillance"), QStringLiteral("outdoor"), tr("Has outdoor surveillance", "A parking space has outdoor surveillance")); addTagDescription(m_description, QStringLiteral("surveillance"), QStringLiteral("indoor"), tr("Has indoor surveillance", "A parking space has indoor surveillance")); addTagDescription(m_description, QStringLiteral("surveillance"), QStringLiteral("public"), tr("Has public surveillance", "A parking space has public surveillance")); + } else if (category == GeoDataPlacemark::AmenityChargingStation) { + addTagValue(m_description, QStringLiteral("capacity")); + addTagValue(m_description, QStringLiteral("amperage")); + addTagValue(m_description, QStringLiteral("voltage")); + + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("cee_blue"), tr("Number of blue CEE sockets")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("cee_red_16a"), tr("Number of red CEE sockets with 16 A current")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("cee_red_32a"), tr("Number of red CEE sockets with 32 A current")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("cee_red_64a"), tr("Number of red CEE sockets with 64 A current")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("cee_red_125a"), tr("Number of red CEE sockets with 125 A current")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("nema_5_15"), tr("Number sockets accepting NEMA-5-15P plugs")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("typeb"), tr("Number sockets accepting NEMA-5-15P plugs")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("nema_5_20"), tr("Number of sockets accepting NEMA-5-20P plugs")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("nema_14_30"), tr("Number of NEMA 14-30 sockets")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("nema_14_50"), tr("Number of NEMA 14-50 sockets")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("schuko"), tr("Number of Schuko sockets")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("bs1363"), tr("Number of BS 1363 sockets")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("type1"), tr("Number of cables with Type 1 plugs")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("type1_combo"), tr("Number of cables with Type 1 combo plugs")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("type2"), tr("Number of Type 2 sockets")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("type2_combo"), tr("Number of Type 2 combo sockets")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("type3"), tr("Number of Type 3 sockets")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("chademo"), tr("Number of cables with CHAdeMO plugs")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("magne_charge"), tr("Obsolete")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("tesla_standard"), tr("Number of cables with Tesla standard plugs")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("tesla_supercharger"), tr("Number of cables with Tesla standard plugs at Supercharger station")); + addTagDescription(m_description, QStringLiteral("socket"), QStringLiteral("tesla_roadster"), tr("Number of cables with Tesla roadster plugs")); } if (category == GeoDataPlacemark::TransportBicycleParking || category == GeoDataPlacemark::TransportMotorcycleParking) { diff --git a/src/lib/marble/geodata/data/GeoDataPlacemark.h b/src/lib/marble/geodata/data/GeoDataPlacemark.h --- a/src/lib/marble/geodata/data/GeoDataPlacemark.h +++ b/src/lib/marble/geodata/data/GeoDataPlacemark.h @@ -266,6 +266,7 @@ AmenityWasteBasket, AmenityDrinkingWater, AmenityGraveyard, + AmenityChargingStation, // OpenStreetMap category Barrier BarrierCityWall, diff --git a/src/lib/marble/geodata/data/GeoDataPlacemark.cpp b/src/lib/marble/geodata/data/GeoDataPlacemark.cpp --- a/src/lib/marble/geodata/data/GeoDataPlacemark.cpp +++ b/src/lib/marble/geodata/data/GeoDataPlacemark.cpp @@ -493,6 +493,7 @@ case AmenityWasteBasket: return GeoDataPlacemarkPrivate::tr("Waste Basket"); case AmenityDrinkingWater: return GeoDataPlacemarkPrivate::tr("Drinking Water"); case AmenityGraveyard: return GeoDataPlacemarkPrivate::tr("Graveyard"); + case AmenityChargingStation: return GeoDataPlacemarkPrivate::tr("Charging station"); case BarrierCityWall: return GeoDataPlacemarkPrivate::tr("City Wall"); case BarrierGate: return GeoDataPlacemarkPrivate::tr("Gate"); case BarrierLiftGate: return GeoDataPlacemarkPrivate::tr("Lift Gate");