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 @@ -426,6 +426,7 @@ m_defaultStyle[GeoDataPlacemark::AccomodationYouthHostel] = createOsmPOIStyle(osmFont, "transportation/hostel.16", transportationColor); m_defaultStyle[GeoDataPlacemark::AccomodationGuestHouse] = createOsmPOIStyle(osmFont, "transportation/guest_house.16", transportationColor); m_defaultStyle[GeoDataPlacemark::AmenityLibrary] = createOsmPOIStyle(osmFont, "amenity/library.20", amenityColor); + m_defaultStyle[GeoDataPlacemark::AmenityChargingStation] = createOsmPOIStyle(osmFont, "transportation/charging_station"); m_defaultStyle[GeoDataPlacemark::AmenityKindergarten] = createOsmPOIAreaStyle(osmFont, QString(), amenityColor, educationalAreasAndHospital, amenityColor); m_defaultStyle[GeoDataPlacemark::EducationCollege] = createOsmPOIAreaStyle(osmFont, QString(), amenityColor, educationalAreasAndHospital, amenityColor); m_defaultStyle[GeoDataPlacemark::EducationSchool] = createOsmPOIAreaStyle(osmFont, QString(), amenityColor, educationalAreasAndHospital, amenityColor); @@ -834,6 +835,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; @@ -1134,6 +1136,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; @@ -1916,6 +1919,7 @@ visualCategoryNames[GeoDataPlacemark::AmenityWasteBasket] = "AmenityWasteBasket"; visualCategoryNames[GeoDataPlacemark::AmenityDrinkingWater] = "AmenityDrinkingWater"; visualCategoryNames[GeoDataPlacemark::AmenityGraveyard] = "AmenityGraveyard"; + visualCategoryNames[GeoDataPlacemark::AmenityChargingStation] = "AmenityChargingStation"; 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 @@ -210,7 +210,34 @@ } else if (category == GeoDataPlacemark::TransportSpeedCamera) { addTagValue(m_description, QStringLiteral("maxspeed"), tr("%1 km/h")); addTagValue(m_description, "ref"); - } + } 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::AmenityRecycling || category == GeoDataPlacemark::AmenityPostBox) { addTagValue(m_description, QStringLiteral("collection_times"), tr("Collection times %1"), QStringLiteral(", ")); 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"); diff --git a/src/plugins/runner/osm/OsmNode.cpp b/src/plugins/runner/osm/OsmNode.cpp --- a/src/plugins/runner/osm/OsmNode.cpp +++ b/src/plugins/runner/osm/OsmNode.cpp @@ -166,6 +166,7 @@ popularities << GeoDataPlacemark::AmenityTownHall; popularities << GeoDataPlacemark::AmenityDrinkingWater; popularities << GeoDataPlacemark::AmenityGraveyard; + popularities << GeoDataPlacemark::AmenityChargingStation; popularities << GeoDataPlacemark::ManmadeBridge; popularities << GeoDataPlacemark::ManmadeLighthouse;