@codesyntax/volto-maplibre-block
Version:
volto-maplibre-block: Volto add-on to use maplibre mapping library in Volto
31 lines (26 loc) • 809 B
JSX
import React from 'react';
import { MapLibre } from '../../MapLibre';
import cx from 'classnames';
import { withBlockExtensions } from '@plone/volto/helpers';
const MaplibreBlockView = (props) => {
const { data, className, style } = props;
const center = {
latitude: data?.latitude || '0.0',
longitude: data?.longitude || '0.0',
zoom: data?.zoom || 10,
};
// filter out items without correct values
let markers =
data?.markers?.filter((item) => item.latitude && item.longitude) || [];
return (
<div className={cx('block maplibre', className)} style={style}>
<MapLibre
markers={markers}
center={center}
height={data.height}
tilesLayer={data.tilesLayer}
/>
</div>
);
};
export default withBlockExtensions(MaplibreBlockView);