Angular Map - Handle the Related Events
The Map UI component fires the routeAdded and routeRemoved events when a marker is added or removed. To handle them, assign functions to the onRouteAdded and onRouteRemoved properties, respectively.
jQuery
$(function() {
$("#mapContainer").dxMap({
center: { lat: 40.749825, lng: -73.987963 },
zoom: 10,
onRouteAdded: function (e) {
const addedRoute = e.options;
// The original route used by the current map provider
const originalRoute = e.originalRoute;
// Event handling commands go here
},
onRouteRemoved: function (e) {
const removedRoute = e.options;
// Event handling commands go here
}
});
});Angular
<dx-map
[center]="{ lat: 40.749825, lng: -73.987963 }"
[zoom]="10"
(onRouteAdded)="routeAdded($event)"
(onRouteRemoved)="routeRemoved($event)">
</dx-map>
import { DxMapModule } from "devextreme-angular";
// ...
export class AppComponent {
routeAdded (e) {
const addedRoute = e.options;
// The original route used by the current map provider
const originalRoute = e.originalRoute;
// Event handling commands go here
};
routeRemoved (e) {
const removedRoute = e.options;
// Event handling commands go here
}
}
@NgModule({
imports: [
// ...
DxMapModule
],
// ...
})Vue
<template>
<DxMap
:zoom="10"
:center="centerCoordinates"
@route-added="routeAdded"
@route-removed="routeRemoved"
/>
</template>
<script>
import 'devextreme/dist/css/dx.light.css';
import { DxMap } from 'devextreme-vue/map';
export default {
components: {
DxMap
},
data() {
return {
centerCoordinates: { lat: 40.749825, lng: -73.987963 }
};
},
methods: {
routeAdded(e) {
const addedRoute = e.options;
// The original route used by the current map provider
const originalRoute = e.originalRoute;
// Event handling commands go here
},
routeRemoved(e) {
const removedRoute = e.options;
// Event handling commands go here
}
}
}
</script>React
import React from 'react';
import 'devextreme/dist/css/dx.light.css';
import { Map } from 'devextreme-react/map';
const centerCoordinates = { lat: 40.749825, lng: -73.987963 };
class App extends React.Component {
constructor(props) {
super(props);
this.routeRemoved = this.routeAdded.bind(this);
this.routeRemoved = this.routeRemoved.bind(this);
}
routeAdded(e) {
const addedRoute = e.options;
// The original route used by the current map provider
const originalRoute = e.originalRoute;
// Event handling commands go here
}
routeRemoved(e) {
const removedRoute = e.options;
// Event handling commands go here
}
render() {
return (
<Map
defaultZoom={10}
defaultCenter={centerCoordinates}
onRouteAdded={this.routeAdded}
onRouteRemoved={this.routeRemoved}
/>
);
}
}
export default App;jQuery
If you are going to change event handlers at runtime, or if you need to attach several handlers to a single event, subscribe to the markerAdded and markerRemoved events using the on(eventName, eventHandler) method.
const routeRemovedHandler1 = function (e) {
const removedRoute = e.options;
// First handler of the "routeRemoved" event
};
const routeRemovedHandler2 = function (e) {
const removedRoute = e.options;
// Second handler of the "routeRemoved" event
};
$("#mapContainer").dxMap("instance")
.on("routeRemoved", routeRemovedHandler1)
.on("routeRemoved", routeRemovedHandler2);See Also
If you have technical questions, please create a support ticket in the DevExpress Support Center.