Пример приложения¶
Проект-пример — приложение на
Compose Multiplatform, которое прогоняет всю обёртку. Весь код карты в нём лежит в commonMain;
проекты Android и iOS только запускают его.
Как запустить¶
API-ключ берётся из local.properties, и без него сборка падает с явным сообщением.
MAPKIT_API_KEY=<API-KEY>
./gradlew :sample:composeApp:installDebug
Откройте sample/iosApp/iosApp.xcworkspace в Xcode и запустите.
BuildKonfig генерирует ключ в общий код — это тот же приём, что описан в Быстром старте.
Что внутри¶
Приложение открывается меню экранов, каждый из которых покрывает свой срез API.
| Экран | Что показывает |
|---|---|
| Old api objects | API контроллера — MapControllerEffect и императивный код MapKit, включая кластеризацию |
| New api objects | API состояний — Placemark, Circle, Polygon, Polyline, Clustering, composable-иконки |
| Layers, listeners and states | MapObjectCollection, MapObjectLayer, TileLayer, TrafficLayer, MapListeners, объекты состояния и traverse |
| Storage, offline cache, i18n | StorageManager, OfflineCacheManager, I18nManager и поток логов MapKit |
На каждом экране есть журнал событий прямо на экране, так что нажатие, движение камеры или неудавшийся вызов видны без отладчика — именно так проверялось и поведение самой обёртки.
Это переписанное на этой библиотеке официальное демо Yandex MapKit, поэтому одни и те же сценарии можно сравнивать бок о бок с оригинальным Android-кодом.