Search packages, repositories and app categories

GitHub repositorylualbertovargas/flutter_screenshot_google_street_view

flutter_screenshot_google_street_view

lualbertovargas/flutter_screenshot_google_street_view open-source repository details.

flutter_screenshot_google_street_view project cover
Stars
0
Forks
0
Last push (UTC)
Jan 5, 2025
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

Flutter Screenshot Google Street View

Important Note

For accurate testing and functionality validation, it is essential to test this package on a physical device rather than an emulator.

This package allows capturing and displaying Google Street View images in Flutter applications.

Features

  • Street View image capture
  • Display of captured images
  • Customizable capture settings

Getting started

To start using this package, make sure you have a Google Maps API key enabled for the Street View service.

Requirements
Android
  • Minimum SDK: 20
  • Required permissions in AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  • API key in AndroidManifest.xml:
<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="API_KEY"/>
iOS
  • Minimum version: 14.0
  • Configure API key in AppDelegate.swift:
GMSServices.provideAPIKey("API_KEY")
API Configuration
  1. Get an API key at https://cloud.google.com/maps-platform/
  2. Enable Google Maps SDK:
    • Maps SDK for Android
    • Maps SDK for iOS
    • Street View Static API

Usage

Here's an example of how to use the StreetViewCapture and StreetViewPreview widgets:

import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:flutter_screenshot_google_street_view/flutter_screenshot_google_street_view.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Street View Example')),
        body: StreetViewExample(),
      ),
    );
  }
}

class StreetViewExample extends StatefulWidget {
  @override
  _StreetViewExampleState createState() => _StreetViewExampleState();
}

class _StreetViewExampleState extends State<StreetViewExample> {
  String? _imageUrl;

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        StreetViewCapture(
          initialPosition: LatLng(37.7749, -122.4194), // San Francisco
          config: StreetViewConfig(apiKey: 'API_KEY'),
          onImageCaptured: (imageUrl, position) {
            setState(() {
              _imageUrl = imageUrl;
            });
          },
        ),
        if (_imageUrl != null)
          StreetViewPreview(
            imageUrl: _imageUrl!,
            fit: BoxFit.cover,
          ),
      ],
    );
  }
}

Additional information

For more information about contributing to the package or reporting issues, visit the project repository.

lualbertovargas GitHub avatar
GitHub author

lualbertovargas ↗

Your biggest enemy is the ego

LanguagesDartRubySwiftKotlinObjective-C

Packages published by this repository

Dependencies used

Dependency list 4 items

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗