1 | import { createElementObject, createLayerComponent, extendContext, updateMediaOverlay } from '@react-leaflet/core';
|
2 | import { VideoOverlay as LeafletVideoOverlay } from 'leaflet';
|
3 | export const VideoOverlay = createLayerComponent(function createVideoOverlay({ bounds , url , ...options }, ctx) {
|
4 | const overlay = new LeafletVideoOverlay(url, bounds, options);
|
5 | if (options.play === true) {
|
6 | overlay.getElement()?.play();
|
7 | }
|
8 | return createElementObject(overlay, extendContext(ctx, {
|
9 | overlayContainer: overlay
|
10 | }));
|
11 | }, function updateVideoOverlay(overlay, props, prevProps) {
|
12 | updateMediaOverlay(overlay, props, prevProps);
|
13 | if (typeof props.url === 'string' && props.url !== prevProps.url) {
|
14 | overlay.setUrl(props.url);
|
15 | }
|
16 | const video = overlay.getElement();
|
17 | if (video != null) {
|
18 | if (props.play === true && !prevProps.play) {
|
19 | video.play();
|
20 | } else if (!props.play && prevProps.play === true) {
|
21 | video.pause();
|
22 | }
|
23 | }
|
24 | });
|