. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Module; use Fisharebest\Webtrees\I18N; /** * Class EsriMaps - use maps within webtrees */ class EsriMaps extends AbstractModule implements ModuleMapProviderInterface { use ModuleMapProviderTrait; /** * Name of the map provider. * * @return string */ public function title(): string { return /* I18N: Name of a mapping organisation */ I18N::translate('Esri/ArcGIS'); } /** * Name of the map provider. * * @return string */ public function description(): string { $link = 'maps.esri.com'; // I18N: %s is a link/URL return I18N::translate('Create maps using %s.', $link); } /** * Should this module be enabled when it is first installed? * * @return bool */ public function isEnabledByDefault(): bool { return false; } /** * Parameters to create a TileLayer in LeafletJs. * * @return array */ public function leafletJsTileLayers(): array { return [ (object) [ 'attribution' => 'Tiles ©Esri — Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012', 'default' => true, 'label' => 'WorldStreetMap', 'maxZoom' => 17, 'minZoom' => 2, 'url' => 'https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}', ], (object) [ 'attribution' => 'Tiles ©Esri — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community', 'default' => false, 'label' => 'WorldTopoMap', 'maxZoom' => 17, 'minZoom' => 2, 'url' => 'https://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}', ], (object) [ 'attribution' => 'Tiles © Esri — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC', 'default' => false, 'label' => 'NatGeoWorldMap', 'maxZoom' => 12, 'minZoom' => 2, 'url' => 'https://server.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/tile/{z}/{y}/{x}', ], ]; } }