$info) { $layer = 'farm_area_layer_' . $type; $area_type_layers[$layer] = $layer; $source = 'farm_area_source_' . $type; $area_type_sources[$source] = $source; } // Define an area details popup component that applies to all area type layers. $ol_component = new stdClass(); $ol_component->disabled = FALSE; /* Edit this to true to make a default ol_component disabled initially */ $ol_component->api_version = 1; $ol_component->machine_name = 'farm_area_component_area_details_popup'; $ol_component->name = 'Farm Area: Area Details Popup'; $ol_component->description = ''; $ol_component->factory_service = 'openlayers.Component:Popup'; $ol_component->options = array( 'frontend_layers' => $area_type_layers, 'positioning' => 'top-center', 'autoPan' => 1, 'autoPanAnimation' => '0', 'autoPanMargin' => '20', 'closer' => 1, ); $export['farm_area_component_area_details_popup'] = $ol_component; // Define a zoom-to-source component that applies to all area sources. $ol_component = new stdClass(); $ol_component->disabled = FALSE; /* Edit this to true to make a default ol_component disabled initially */ $ol_component->api_version = 1; $ol_component->machine_name = 'farm_area_component_areas_zoom_to_source'; $ol_component->name = 'Farm Area: Areas Zoom to Source'; $ol_component->description = 'Automatically zoom to the areas source when the map is first built.'; $ol_component->factory_service = 'openlayers.Component:ZoomToSource'; $ol_component->options = array( 'source' => $area_type_sources, 'duration' => 500, 'zoom' => 'auto', 'max_zoom' => 20, 'process_once' => 0, ); $export['farm_area_component_areas_zoom_to_source'] = $ol_component; return $export; } /** * Implements hook_default_openlayers_components_alter(). */ function farm_area_default_openlayers_components_alter(&$components) { // Add the Farm Areas source to the Geofield Zoom-To-Source component. if (!empty($components['farm_map_component_geofield_zoom_to_source'])) { $components['farm_map_component_geofield_zoom_to_source']->options['source']['views_geojson_farm_areas_geojson_feed'] = 'views_geojson_farm_areas_geojson_feed'; } }