0 && arguments[0] !== undefined ? arguments[0] : '[data-cmp]';\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'data-cmp';\n document.querySelectorAll(selector).forEach(function (source) {\n var tag = document.createElement('script');\n var src = source.dataset.src || '';\n source.getAttributeNames().filter(function (prop) {\n return attr !== prop && 'data-src' !== prop && 'data-async' !== prop;\n }).forEach(function (prop) {\n tag.setAttribute(prop, source.getAttribute(prop));\n });\n if (src) {\n tag.src = src;\n tag.async = source.dataset.async !== 'false';\n }\n tag.innerHTML = source.innerHTML;\n source.parentNode.insertBefore(tag, source);\n source.remove();\n });\n}\n\n//# sourceURL=webpack:///./lazy-script-loader.js?\n}")},"./loader-after-init.js"(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lazy-script-loader */ \"./lazy-script-loader.js\");\n/* harmony import */ var _lazy_image_loader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lazy-image-loader */ \"./lazy-image-loader.js\");\n\n\ndocument.addEventListener('DOMContentLoaded', function () {\n var api = window.__tcfapi || null;\n if (!api) {\n return;\n }\n api('addEventListener', 2, function (tcData, success) {\n if (success && tcData && ('tcloaded' === tcData.eventStatus || 'useractioncomplete' === tcData.eventStatus)) {\n (0,_lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__.loadAsyncScripts)('[data-cmp=after-init]');\n (0,_lazy_image_loader__WEBPACK_IMPORTED_MODULE_1__.loadLazyImages)('[data-cmp-lazy-image=after-init]');\n if (tcData.listenerId) {\n api('removeEventListener', 2, function () {}, tcData.listenerId);\n }\n }\n });\n});\n\n//# sourceURL=webpack:///./loader-after-init.js?\n}")}},__webpack_module_cache__={};function __webpack_require__(e){var a=__webpack_module_cache__[e];if(void 0!==a)return a.exports;var r=__webpack_module_cache__[e]={exports:{}};if(!(e in __webpack_modules__)){delete __webpack_module_cache__[e];var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.d=(e,a)=>{for(var r in a)__webpack_require__.o(a,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__("./loader-after-init.js")})();
0 && arguments[0] !== undefined ? arguments[0] : '[data-cmp]';\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'data-cmp';\n document.querySelectorAll(selector).forEach(function (source) {\n var tag = document.createElement('script');\n var src = source.dataset.src || '';\n source.getAttributeNames().filter(function (prop) {\n return attr !== prop && 'data-src' !== prop && 'data-async' !== prop;\n }).forEach(function (prop) {\n tag.setAttribute(prop, source.getAttribute(prop));\n });\n if (src) {\n tag.src = src;\n tag.async = source.dataset.async !== 'false';\n }\n tag.innerHTML = source.innerHTML;\n source.parentNode.insertBefore(tag, source);\n source.remove();\n });\n}\n\n//# sourceURL=webpack:///./lazy-script-loader.js?\n}")},"./loader-not-pur.js"(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lazy-script-loader */ "./lazy-script-loader.js");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./utils.js");\nfunction _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\n/**\n * @see https://gist.github.com/0x7f/62211125638af90d84fe8d9b0d660761\n * @see https://docs.contentpass.net/docs/3rdparty\n * @see https://docs.contentpass.net/docs/web-sdk#cpauthenticate-options-callback\n */\n\n\n(function () {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \'[data-cmp=not-pur]\';\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_1__.isPur)()) {\n return;\n }\n\n // Execute now\n (0,_lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__.loadAsyncScripts)(selector);\n\n // Execute until dom content is loaded\n var observer = new MutationObserver(function (mutationsList) {\n var _iterator = _createForOfIteratorHelper(mutationsList),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var mutation = _step.value;\n if (\'childList\' === mutation.type) {\n (0,_lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__.loadAsyncScripts)(selector);\n return;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n document.addEventListener(\'DOMContentLoaded\', function () {\n observer.disconnect();\n });\n})();\n\n//# sourceURL=webpack:///./loader-not-pur.js?\n}')},"./utils.js"(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isPur: () => (/* binding */ isPur)\n/* harmony export */ });\nvar isPur = function isPur() {\n return document.cookie.includes('_cpauthhint=1') || !!localStorage.getItem('_cpuser');\n};\n\n//# sourceURL=webpack:///./utils.js?\n}")}},__webpack_module_cache__={};function __webpack_require__(e){var r=__webpack_module_cache__[e];if(void 0!==r)return r.exports;var t=__webpack_module_cache__[e]={exports:{}};if(!(e in __webpack_modules__)){delete __webpack_module_cache__[e];var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return __webpack_modules__[e](t,t.exports,__webpack_require__),t.exports}__webpack_require__.d=(e,r)=>{for(var t in r)__webpack_require__.o(r,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__("./loader-not-pur.js")})();
Google Maps und Co. sollen Verkehrsdaten zentral erhalten
Zum Inhalt springen
Google Maps, Waze & Co. könnten durch das neue Gesetz profitieren Foto: Getty Images
1. April 2026, 9:15 Uhr |
Lesezeit: 2 Minuten
Navigations-Apps sind für viele von uns längst ein fester Bestandteil des Alltags. Ob im Auto, auf dem Rad, in Bus und Bahn oder zu Fuß – Dienste wie Google Maps, Waze oder Apple Karten helfen dabei, schnell ans Ziel zu kommen.
Bisher mussten die Anbieter ihre Verkehrsinformationen selbst zusammenstellen. Sie greifen dafür auf öffentliche Daten, aber auch auf Angaben von Nutzern zurück. Das führt manchmal dazu, dass Informationen über Staus, Baustellen oder Abfahrtszeiten nicht immer zuverlässig sind. Die Bundesregierung will diesen Zustand nun verbessern und für mehr Ordnung sorgen.
Neuer Rechtsrahmen für Verkehrsdaten
Der Bundestag hat ein Gesetz beschlossen , das den Umgang mit Verkehrsdaten und deren Schnittstellen regelt. Über einen sogenannten „Nationalen Zugangspunkt“ sollen Verkehrsbehörden, Mobilitätsanbieter und Infrastrukturbetreiber ihre Daten künftig zentral bereitstellen und austauschen.
Dazu gehören Fahrpläne, aktuelle Verkehrsinformationen, Baustellen, Sperrungen, Geschwindigkeitsbegrenzungen und Warnmeldungen. Navigationsdienste können diese Informationen dann nutzen, um ihre Nutzer besser zu informieren. Ziel ist ein einheitlicher, zuverlässiger Datenfluss, der die Qualität der Verkehrsinformationen deutlich steigern soll.
Auch interessant: Google Maps bekommt Riesen-Update für Navigation
Pflicht zur Datenerfassung für mehr Komfort
Das neue Gesetz verpflichtet Verkehrsunternehmen auch dazu, Daten zur Auslastung ihrer Fahrzeuge zu erfassen. Besonders wichtig ist die Anzeige von freien Plätzen für Menschen mit Behinderung. So können Menschen mit Rollstuhl oder Rollator ihre Reisen besser planen. Bedenken des Bundesrats zur Erfassung dieser Daten wies der Bundestag zurück. Technische Lösungen seien bereits vorhanden. Wann der „Nationale Zugangspunkt“ vollständig verfügbar ist und wie stark Google, Apple und andere Anbieter die Daten nutzen werden, ist derzeit noch unklar.
Das Magazin für digitalen Lifestyle und Entertainment