Для моего случая использования я определил, что лучший подход - это иметь общий объект Map, где я обрабатываю все, что связано с Openlayers Map.Я получил map-browser.component для карты браузера, который получил объект карты в качестве входных данных, чтобы я мог поделиться поведением карты с другим компонентом.
Итак, моя архитектура выглядит так:
- расшаренный
- map.ts
- map.service.ts (возможно, для обмена контекстом карты)
- map-browser
- layer
- geolocation
- control
- ...