buildViewportSection function

Widget buildViewportSection({
  1. required bool rememberViewport,
  2. required double initialLat,
  3. required double initialLng,
  4. required double initialZoom,
  5. required void onRememberViewportChanged(
    1. bool
    ),
  6. required void onViewportChanged(
    1. double lat,
    2. double lng,
    3. double zoom
    ),
})

Builds the viewport section of settings.

Implementation

Widget buildViewportSection({
  required bool rememberViewport,
  required double initialLat,
  required double initialLng,
  required double initialZoom,
  required void Function(bool) onRememberViewportChanged,
  required void Function(double lat, double lng, double zoom) onViewportChanged,
}) {
  return Column(
    crossAxisAlignment: CrossAxisAlignment.start,
    children: [
      const Text(
        'Viewport',
        style: TextStyle(
          fontSize: 14,
          fontWeight: FontWeight.bold,
          color: Colors.grey,
        ),
      ),
      const SizedBox(height: 8),
      SwitchListTile(
        title: const Text('Remember Viewport'),
        subtitle: const Text('Resume from last viewed position'),
        value: rememberViewport,
        onChanged: onRememberViewportChanged,
        secondary: Icon(
          rememberViewport ? Icons.restore : Icons.home,
          color: rememberViewport ? Colors.blue : Colors.grey,
        ),
      ),
      if (!rememberViewport) ...[
        const SizedBox(height: 12),
        InitialViewportSelector(
          lat: initialLat,
          lng: initialLng,
          zoom: initialZoom,
          onChanged: onViewportChanged,
        ),
      ],
    ],
  );
}