Map: OSM provider — Render tile maps with OpenLayers - #34769
Merged
AlisherAmonulloev merged 18 commits intoAug 20, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an OpenLayers-backed OSM provider to dxMap, including tile-server configuration, public typings, framework wrappers, errors, and tests.
Changes:
- Implements OSM tile rendering and OpenLayers integration.
- Exposes OSM configuration across TypeScript, Angular, React, Vue, and ASP.NET metadata.
- Adds an OpenLayers mock and QUnit coverage.
Reviewed changes
Copilot reviewed 17 out of 20 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
packages/devextreme/ts/dx.all.d.ts |
Adds aggregate OSM declarations. |
packages/devextreme/testing/tests/DevExpress.ui.widgets/mapParts/osmTests.js |
Tests OSM behavior. |
packages/devextreme/testing/tests/DevExpress.ui.widgets/map.tests.js |
Registers OSM tests. |
packages/devextreme/testing/helpers/forMap/openLayersMock.js |
Adds the OpenLayers mock. |
packages/devextreme/js/ui/widget/ui.errors.js |
Exposes new error identifiers. |
packages/devextreme/js/ui/map.d.ts |
Defines the public OSM API. |
packages/devextreme/js/ui/map_types.d.ts |
Re-exports OSM types. |
packages/devextreme/js/__internal/ui/map/provider.ts |
Excludes OSM from keyed providers. |
packages/devextreme/js/__internal/ui/map/provider.dynamic.osm.ts |
Implements the OSM provider. |
packages/devextreme/js/__internal/ui/map/provider.dynamic.osm.openlayers.ts |
Adapts OpenLayers APIs. |
packages/devextreme/js/__internal/ui/map/provider.dynamic.osm.engine.ts |
Defines the map-engine abstraction. |
packages/devextreme/js/__internal/ui/map/map.ts |
Registers the OSM provider. |
packages/devextreme/js/__internal/ui/errors.ts |
Adds OSM errors and warnings. |
packages/devextreme/eslint.config.mjs |
Adjusts spellchecking for OSM exports. |
packages/devextreme-vue/src/map.ts |
Adds Vue tile-server props. |
packages/devextreme-react/src/map.ts |
Adds React tile-server props. |
packages/devextreme-metadata/aspnet/enums.ts |
Adds OSM to provider metadata. |
packages/devextreme-angular/src/ui/nested/provider-config.ts |
Adds shared Angular configuration. |
packages/devextreme-angular/src/ui/map/nested/provider-config.ts |
Adds Angular map configuration. |
packages/devextreme-angular/src/ui/map/index.ts |
Exposes Angular tile-server types. |
Suppressed comments (2)
packages/devextreme/js/__internal/ui/map/provider.dynamic.osm.ts:155
- When
boundsis provided,DynamicProvider._renderImpl()callsupdateBounds()instead ofupdateCenter(). This no-op therefore leaves the OpenLayers view at[0, 0]/zoom 1 and subsequentboundschanges are also ignored. Add a fit-to-bounds operation to the engine and invoke it here.
updateBounds(): Promise<void> {
return Promise.resolve();
packages/devextreme/js/__internal/ui/map/provider.dynamic.osm.ts:159
- The public
controlsoption has no effect for this provider: the engine hardcodes OpenLayers zoom/rotate controls off, while this update method is a no-op. Consequentlycontrols: truecannot display the expected map controls. Pass the option into map creation and support changes here.
updateControls(): Promise<void> {
return Promise.resolve();
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
pharret31
reviewed
Aug 18, 2026
pharret31
reviewed
Aug 18, 2026
pharret31
reviewed
Aug 18, 2026
pharret31
reviewed
Aug 18, 2026
pharret31
reviewed
Aug 19, 2026
pharret31
reviewed
Aug 19, 2026
pharret31
approved these changes
Aug 19, 2026
IlyaKhD
reviewed
Aug 19, 2026
Co-authored-by: Arman Boyakhchyan <arman.boyakhchyan@devexpress.com> Signed-off-by: Alisher Amonulloev <AlisherAmonulloev@users.noreply.github.com>
Co-authored-by: Arman Boyakhchyan <arman.boyakhchyan@devexpress.com> Signed-off-by: Alisher Amonulloev <AlisherAmonulloev@users.noreply.github.com>
This reverts commit 83e70f4.
Co-authored-by: ilya.kharchenko <14272298+IlyaKhD@users.noreply.github.com> Signed-off-by: Alisher Amonulloev <AlisherAmonulloev@users.noreply.github.com>
AlisherAmonulloev
force-pushed
the
feature/26_2_osm-provider-for-dxmap/tiles
branch
from
August 19, 2026 16:53
00ac5a2 to
8c6af66
Compare
pharret31
approved these changes
Aug 20, 2026
pharret31
approved these changes
Aug 20, 2026
AlisherAmonulloev
merged commit Aug 20, 2026
85a8c5b
into
feature/26_2_osm-provider-for-dxmap/main
99 checks passed
AlisherAmonulloev
deleted the
feature/26_2_osm-provider-for-dxmap/tiles
branch
August 20, 2026 07:22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.