flutter_google_street_view 0.1.2 flutter_google_street_view: ^0.1.2 copied to clipboard
A flutter plugin of google street view was implemented by android native only.
flutter_google_street_view #
A Flutter widget plugin to provide google street view android only
.
Getting Started #
-
Get an API key at https://cloud.google.com/maps-platform/.
-
Enable Google Map SDK for each platform.
- Go to Google Developers Console.
- Choose the project that you want to enable Google Maps on.
- Select the navigation menu and then select "Google Maps".
- Select "APIs" under the Google Maps menu.
- To enable Google Maps for Android, select "Maps SDK for Android" in the "Additional APIs" section, then select "ENABLE".
- To enable Google Maps for iOS, select "Maps SDK for iOS" in the "Additional APIs" section, then select "ENABLE".
- Make sure the APIs you enabled are under the "Enabled APIs" section.
For more details, see Getting started with Google Maps Platform.
Android #
Specify your API key in the application manifest android/app/src/main/AndroidManifest.xml
:
<manifest ...
<application ...
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="YOUR KEY HERE"/>
Control street view widget #
Add FlutterGoogleStreetView widget to your widget tree.
You can control street view by StreetViewController
that is received at onStreetViewCreated
callback.
Sample Usage #
- Android only.
For more usage, please run example
to get complete sample app.
The code shown below is how to init FlutterGoogleStreetView
, and you can find it at example/lib/demo/street_view_panorama_init.dart
Before you run example
, follow Getting Started to specify your API key first!
class StreetViewPanoramaInitDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
title: const Text('Street View Init Demo'),
leading: IconButton(
icon: Icon(Icons.arrow_back),
onPressed: () => Navigator.pop(context),
),
),
body: SafeArea(
child: Stack(
children: [
FlutterGoogleStreetView(
/**
* It not necessary but you can set init position
* choice one of initPos or initPanoId
* do not feed param to both of them, or you should get assert error
*/
initPos: LatLng(37.769263, -122.450727),
//initPanoId: "WddsUw1geEoAAAQIt9RnsQ",
/**
* It is worked while you set initPos or initPanoId.
* initSource is a filter setting to filter panorama
*/
initSource: StreetViewSource.outdoor,
/**
* It is worked while you set initPos or initPanoId.
* initBearing can set default bearing of camera.
*/
initBearing: 30,
/**
* It is worked while you set initPos or initPanoId.
* initTilt can set default tilt of camera.
*/
initTilt: 30,
/**
* It is worked while you set initPos or initPanoId.
* initZoom can set default zoom of camera.
*/
initZoom: 1.5,
/**
* Set street view can panning gestures or not.
* default setting is true
*/
//panningGesturesEnabled: false,
/**
* Set street view shows street name or not.
* default setting is true
*/
//streetNamesEnabled: false,
/**
* Set street view can allow user move to other panorama or not.
* default setting is true
*/
//userNavigationEnabled: false,
/**
* Set street view can zoom gestures or not.
* default setting is true
*/
//zoomGesturesEnabled: false,
/**
* To control street view after street view was initialized.
* You should set [StreetViewCreatedCallback] to onStreetViewCreated.
* And you can using [StreetViewController] object(controller) to control street view.
*/
onStreetViewCreated: (controller) async {
controller.animateTo(
duration: 50,
camera: StreetViewPanoramaCamera(
bearing: 15, tilt: 10, zoom: 3));
},
),
],
),
),
),
);
}
}