Erstmal nachschauen welche Klasse die einzelnen Marker haben.
Diese Klasse ableiten und um dein Property erweitern.
Dann die Stelle suchen, wo die Instanzen jener Marker-Klasse erstellt werden und ob/wie man da diese Klasse durch deine Ableitung ersetzt.
Und das bis hoch zur TWebOsMaps, falls es mehrere Ebenen gibt, wie z.B.:
* Marker-Klasse ableiten
* Marker-Liste ableiten, zum Reinhängen der Marker-Klasse
* TWebOsMaps ableiten, zum Ersetzen der Marker-Listen-Klasse.
Am Besten macht es sich, wenn TMS dafür in den übergeordneten Klassen die nötigen Funktionen als virtual deklariert hat und das möglichst fein diffenenziert, z.B. ala CreateMarker oder GetMarkerClass, bzw. wenn die Liste ihre Item-Klasse im Contructor bekommt, ala
TCollection.Create.
Die aktuelle Implementierung lässt diesen Weg leider nicht zu. Man muss die Collection von TMarkers ableiten, hat aber dann keinen Einfluss mehr auf die ItemClass. Das Design ist in diesem Punkt alles andere als flexibel.
"Umständlicher" :
Du führst eine Liste/Array mit den GUIDs und schreibst bei den Klassen in .Tag
den jeweiligen Index.
Oder andersrum, über die Instanzen verlinkt. -> TDictionary<TMarker, TGUID>
Ist in diesem Fall wohl der einzig gangbare Weg.