Symptom
Bei der Verwendung von Cluster-Ebenen mit MapLibre GL JS auf PTV Vector Maps werden Cluster-Beschriftungen möglicherweise nicht angezeigt, wenn man hinein- oder herauszoomt oder die Kacheln wechselt.
In der Browser-Konsole wird folgender Fehler angezeigt:
GET
https://vectormaps-resources.myptv.com/fonts/latest/Open%20Sans%20Regular,Arial%20Unicode%20MS%2
Ursache
Dieser Fehler wird durch nicht unterstützte Schriftartdefinitionen im Layer-Styling verursacht.
Standardmäßig verwendet MapLibre:
["Open Sans Regular", "Arial Unicode MS Regular"]
Allerdings unterstützen PTV Vector Maps nur Schriftarten der "Noto"-Familie.
Schriftarten wie Open Sans oder Arial Unicode MS sind nicht verfügbar auf den von PTV gehosteten Kachelservern – sie sind nur auf den MapLibre-Demo-Kacheln vorhanden.
Lösung
Um das Problem zu beheben und sicherzustellen, dass Cluster-Beschriftungen korrekt angezeigt werden, setzen Sie explizit die unterstützte Schriftart "Noto Sans Regular" in Ihrem Style-Layer.
Beispiel:
map.addLayer({
id: 'cluster-count',
type: 'symbol',
source: 'earthquakes',
filter: ['has', 'point_count'],
layout: {
'text-field': '{point_count_abbreviated}',
'text-font': ['Noto Sans Regular'],
'text-size': 12
}
});
Dies vermeidet den 404-Fehler und zeigt die Beschriftungen wie erwartet an.
Technische Hinweise
Rendering-Engine:
maplibre-glv4.0.2Unterstützte Schriftarten auf
vectormaps-resources.myptv.com: nur NotoNicht unterstützte Schriftarten: Open Sans, Arial Unicode MS usw.