KAART: Waar in 2025 creditcardskimmers werden gevonden door de politie van San Antonio

Jan De Vries

Skimmers zijn kleine elektronische apparaten die illegaal op geldautomaten, benzinepompen en andere verkoopautomaten worden geïnstalleerd om de debet- en creditcardgegevens van consumenten vast te leggen. Sommige apparaten kunnen ook pincodes opnemen.

De FBI schat dat skimmen financiële instellingen en consumenten jaarlijks ruim 1 miljard dollar kost.

Hoewel het totale aantal teruggevonden apparaten in 2025 daalde, blijkt uit gegevens dat de apparaten overal in de stad werden aangetroffen en niet beperkt waren tot een specifieke kant van de stad.

De locaties zijn te bekijken op de onderstaande interactieve kaart:



Creditcardskimmers 2025

Creditcardskimmers 2025

Locatie Apparaat Bedrijf

‘; (“Locatie”, “Apparaat”, “Bedrijf”).forEach(col => { popupHtml += ‘

‘ + kolom + ‘: ‘ + (item(kol) || ‘—’) + ‘

‘; }); popupHtml += ‘

‘; marker.bindPopup(popupHtml); markeringen(locId) = markering; }); } functie focusOnLocation(locId) {selectedLocation = locId; const item = mapData.find(d => (d(locationKey) || d.name) === locId); als (!item) terugkeert; map.setView(item.coords, 13); document.querySelectorAll(“#dataTable tbody tr”).forEach(r => r.classList.remove(“highlight”)); mapData.forEach(d => { if ((d(locationKey) || d.name) === locId && d._row) d._row.classList.add(“highlight”); }); setTimeout(() => { const marker = markers(locId); if (marker) marker.openPopup(); }, 400); } document.getElementById(“showAllBtn”).addEventListener(“click”, () => {selectedLocation = null; Object.values(markers).forEach(m => map.removeLayer(m)); markers = {}; const bounds = L.latLngBounds(mapData.map(d => d.coords)); map.fitBounds(bounds, { opvulling: (40, 40) }); map.once(“moveend”, () => renderMarkers()); document.querySelectorAll(“#dataTable tbody tr”).forEach(r => r.classList.remove(“highlight”)); function updateSortIcons() { document.querySelectorAll(“#dataTable th”).forEach(th => { const col = th.dataset.col; const arrow = th.querySelector(“.arrow”); if (!arrow) return; arrow.textContent = currentSort.col === col ? (currentSort.asc ? “▲” : “▼”) : “↕”; }); } document.querySelectorAll(“#dataTable th”).forEach(th => { if (th.classList.contains(“unsortable”)) return; th.addEventListener(“click”, () => { const col = th.dataset.col; currentSort.asc = currentSort.col === col ? !currentSort.asc : true; currentSort.col = col; mapData.sort((a, b) => { let valA = a(col) || “”, valB = b(col) || “”; if (typeof valA === “string”) valA = valA.toLowerCase(); if (typeof valB === “string”) valB = valB.toLowerCase(); if (valA < valB) return currentSort.asc ? -1 : 1; if (valA > valB) retourneert currentSort.asc 1: -1; initTable(); initTabel(); updateSortIcons(); renderMarkers(); const grenzen = L.latLngBounds(mapData.map(d => d.coords)); map.fitBounds(grenzen, {opvulling: (40, 40) });