EV Charging Stations Availability
Important note EV Charging Stations Availability is unavailable on a Freemium or Pay As You Grow (PAYG) basis. Click the Request Access button above to contact our Sales team.
The EV Charging Stations Availability service provides real-time information about electric vehicle charging points, including availability status, connector types, power levels, and charging network details.
Basic Usage
import { getPlacesWithEVAvailability } from '@tomtom-org/maps-sdk/services';
import { search } from '@tomtom-org/maps-sdk/services';
// First, search for EV charging stations
const chargingStations = await search({
query: 'EV charging',
position: [4.9041, 52.3676], // Amsterdam
categorySet: ['ELECTRIC_VEHICLE_STATION'],
limit: 10
});
// Fetch real-time availability data
const stationsWithAvailability = await getPlacesWithEVAvailability(chargingStations);
Individual Station Availability
Get availability for a specific charging station:
import { getPlaceWithEVAvailability } from '@tomtom-org/maps-sdk/services';
// Get a specific charging station (from search results)
const station = chargingStations.features[0];
// Get detailed availability information
const stationWithAvailability = await getPlaceWithEVAvailability(station);
// Access availability data
const availability = stationWithAvailability.properties.evChargingStationAvailability;
if (availability) {
console.log(`Total connectors: ${availability.totalConnectors}`);
console.log(`Available connectors: ${availability.availableConnectors}`);
// Check individual connector types
availability.connectorAvailability.forEach(connector => {
console.log(`${connector.connectorType}: ${connector.availableConnectors}/${connector.totalConnectors} available`);
});
}
Understanding Availability Data
The availability response includes comprehensive charging station information:
const stationWithAvailability = await getPlaceWithEVAvailability(station);
const evData = stationWithAvailability.properties.evChargingStationAvailability;
if (evData) {
// Overall availability
console.log(`Station Status: ${evData.availabilityStatus}`); // 'Available', 'Busy', 'OutOfService'
console.log(`Total Connectors: ${evData.totalConnectors}`);
console.log(`Available Connectors: ${evData.availableConnectors}`);
// Connector-specific availability
evData.connectorAvailability.forEach(connector => {
console.log(`Connector Type: ${connector.connectorType}`); // 'Type2', 'CCS', 'CHAdeMO', etc.
console.log(`Power Level: ${connector.powerKW} kW`);
console.log(`Available: ${connector.availableConnectors}/${connector.totalConnectors}`);
console.log(`Status: ${connector.status}`); // 'Available', 'Occupied', 'OutOfOrder'
});
// Charging park information
if (evData.chargingPark) {
console.log(`Charging Park: ${evData.chargingPark.name}`);
console.log(`Operator: ${evData.chargingPark.operator}`);
}
}
Integration with Map Display
Display charging stations with availability indicators on your map:
import { PlacesModule } from '@tomtom-org/maps-sdk/map';
// Search and get availability data
const stations = await search({
query: 'EV charging',
position: [4.9041, 52.3676],
categorySet: ['ELECTRIC_VEHICLE_STATION'],
limit: 20
});
const stationsWithAvailability = await getPlacesWithEVAvailability(stations);
// Display on map with custom styling based on availability
const placesModule = await PlacesModule.get(map, {
iconConfig: {
customIcons: [
{
category: 'ELECTRIC_VEHICLE_STATION',
iconFunction: (place) => {
const availability = place.properties.evChargingStationAvailability;
if (!availability) return 'ev-charging-default';
switch (availability.availabilityStatus) {
case 'Available':
return 'ev-charging-available'; // Green icon
case 'Busy':
return 'ev-charging-busy'; // Red icon
case 'OutOfService':
return 'ev-charging-offline'; // Gray icon
default:
return 'ev-charging-default';
}
}
}
]
}
});
placesModule.show(stationsWithAvailability);
Filtering by Connector Type
Filter stations by specific connector types:
const filterByConnectorType = (stationsWithAvailability, connectorTypes) => {
return {
...stationsWithAvailability,
features: stationsWithAvailability.features.filter(station => {
const availability = station.properties.evChargingStationAvailability;
if (!availability) return false;
return availability.connectorAvailability.some(connector =>
connectorTypes.includes(connector.connectorType) &&
connector.availableConnectors > 0
);
})
};
};
// Find stations with available Type2 or CCS connectors
const compatibleStations = filterByConnectorType(stationsWithAvailability, ['Type2', 'CCS']);
Related Guides and Examples
Related Guides
- Places Search - Find EV charging stations using category filters
- Map Places - Display charging stations with custom availability icons
- Long Distance EV Routing - Plan routes with charging stops
Related Examples
- EV Charging Stations Search - Interactive exploration of charging station availability
- POI Filters - Filter places by categories including EV stations
- Places Customize - Custom styling for different availability states
Related Services
- Places Search - Primary method for discovering EV charging locations
- Route Planning Parameters - Comprehensive route planning with configuration options