Skip to content

Map: OSM provider - Add markers and location calculation - #34994

Draft
AlisherAmonulloev wants to merge 4 commits into
feature/26_2_osm-provider-for-dxmap/mainfrom
feature/26_2_osm-provider-for-dxmap/markers-and-location-calculation
Draft

Map: OSM provider - Add markers and location calculation#34994
AlisherAmonulloev wants to merge 4 commits into
feature/26_2_osm-provider-for-dxmap/mainfrom
feature/26_2_osm-provider-for-dxmap/markers-and-location-calculation

Conversation

@AlisherAmonulloev

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds location resolution and marker rendering to the OSM provider, including OpenLayers overlays, viewport fitting, accessibility, and test coverage.

Changes:

  • Adds asynchronous location calculation, caching, and stale-operation handling.
  • Implements accessible OSM markers and automatic viewport adjustment.
  • Extends OpenLayers mocks, Storybook examples, tests, and localization resources.

Reviewed changes

Copilot reviewed 47 out of 47 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
packages/devextreme/testing/tests/DevExpress.ui.widgets/mapParts/osmTests.js Tests location and marker behavior.
packages/devextreme/testing/helpers/forMap/openLayersMock.js Adds overlay and view-event mocks.
packages/devextreme/js/ui/map/openlayers.register.js Registers OpenLayers overlays.
packages/devextreme/js/localization/messages/zh.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/zh-tw.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/zh-Hans.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/zh-CN.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/vi.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/uk.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/tr.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/sv.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/sl.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/ru.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/ro.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/pt.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/pt-PT.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/pt-BR.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/pl.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/nl.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/nb.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/lv.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/lt.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/ko.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/ja.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/it.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/hu.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/hi.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/fr.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/fi.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/fa.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/es.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/en.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/el.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/de.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/da.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/cs.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/ca.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/bg.json Adds marker ARIA label.
packages/devextreme/js/localization/messages/ar.json Adds marker ARIA label.
packages/devextreme/js/__internal/ui/map/provider.dynamic.osm.ts Implements location resolution and markers.
packages/devextreme/js/__internal/ui/map/provider.dynamic.osm.openlayers.utils.ts Extends OpenLayers contracts.
packages/devextreme/js/__internal/ui/map/provider.dynamic.osm.openlayers.utils.test.ts Tests overlay API validation.
packages/devextreme/js/__internal/ui/map/provider.dynamic.osm.openlayers.ts Implements overlay rendering and fitting.
packages/devextreme/js/__internal/ui/map/provider.dynamic.osm.openlayers.marker.ts Creates marker DOM elements.
packages/devextreme/js/__internal/ui/map/provider.dynamic.osm.engine.ts Defines marker engine contracts.
apps/react-storybook/stories/map/OSMMap.stories.tsx Demonstrates OSM markers.
apps/react-storybook/.storybook/main.ts Serves marker image assets.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +447 to +451
const engineMarker = engineMap.addMarker({
html: options.html,
htmlOffset: options.htmlOffset,
iconSrc,
location,
});
this.originalMap.getOverlayContainer().setAttribute('dir', 'ltr');
this.originalMap.getOverlayContainerStopEvent().setAttribute('dir', 'ltr');
this.originalMap.getView().on('change:center', this._viewCenterChangeHandler);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants