Generalidades

Compartir ubicación actual Aplicación Flutter | por Salman Aziz | Mayo 2021

Salman Aziz

Aprenda cómo obtener la posición flagrante en medio de la confusión y el intercambio

1*XDl hndGOdkBMrS60ysq9Q

Las aplicaciones móviles basadas en la ubicación se utilizan ampliamente.Su realización aleteo Indoloro para desarrolladores.

Aprenderemos cómo obtener la ubicación flagrante del becario y compartirla a través del medio de dispositivo móvil compartido predeterminado. Dividamos este proceso en varias partes más pequeñas.

1- grupo
2-Implementación de Google Map
3 posiciones
4- compartir

Ajustes:

paso 1: Agregue el atlas de Google, la ubicación y las dependencias compartidas en el archivo pubspec.yml

google_maps_flutter: ^2.0.5
share: ^2.0.1
location: ^4.1.1

Para Google Maps y Location, necesita realizar alguna configuración adicional en los proyectos de Android e iOS

Google Plano de la configuración de Android
1- grupo minSdkVersion en android/app/build.gradle:

android 
defaultConfig
minSdkVersion 20

2- Especifique su esencia de API en el manifiesto de la aplicación android / app / src / main / AndroidManifest.xml

<manifest ...
<application ...
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="YOUR KEY HERE"/>

Configuración de Google Map iOS

1- Especifique su esencia API en el representante de la aplicación ios / Runner / AppDelegate.m

#include "AppDelegate.h"
#include "GeneratedPluginRegistrant.h"
#import "GoogleMaps/GoogleMaps.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[GMSServices provideAPIKey:@"YOUR KEY HERE"];
[GeneratedPluginRegistrant registerWithRegistry:self];
return [super application:application didFinishLaunchingWithOptions:launchOptions];

@end

O en su código Swift, especifique su esencia API en la aplicación delegada ios / Runner / AppDelegate.swift

import UIKit
import Flutter
import GoogleMaps

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool
GMSServices.provideAPIKey("YOUR KEY HERE")
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)

Configuración de ubicación de iOS

Debe asociar este permiso en Info.plist:

NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription

Ahora hagamos un poco de trabajo

Paso 2:

import 'dart:async';

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

void main() => runApp(MyApp());

class MyApp extends StatelessWidget
@override
Widget build(BuildContext context)
return MaterialApp(
title: 'Flutter Google Maps Demo',
home: MapSample(),
);

class MapSample extends StatefulWidget
@override
State<MapSample> createState() => MapSampleState();

class MapSampleState extends State<MapSample>
Completer<GoogleMapController> _controller = Completer();

static final CameraPosition _kGooglePlex = CameraPosition(
target: LatLng(37.42796133580664, -122.085749655962),
teleobjetivo: 14.4746,
);

@override
Widget build(BuildContext context)
return new Scaffold(
body: GoogleMap(
mapType: MapType.hybrid,
initialCameraPosition: _kGooglePlex,
onMapCreated: (GoogleMapController controller)
_controller.complete(controller);
,
),

);

necesitas GoogleMapController propósito _Controlador Anime las coordenadas de posición cambiadas.

Verás lo casquivana que es implementar GoogleMap en Flutter.

Ahora comience a moverse para obtener la ubicación flagrante del becario

tercer paso:

import 'package:location/location.dart';Location location = new Location();

bool _serviceEnabled;
PermissionStatus _permissionGranted;
LocationData _locationData;

_serviceEnabled = await location.serviceEnabled();
if (!_serviceEnabled)
_serviceEnabled = await location.requestService();
if (!_serviceEnabled)
return;

_permissionGranted = await location.hasPermission();
if (_permissionGranted == PermissionStatus.denied)
_permissionGranted = await location.requestPermission();
if (_permissionGranted != PermissionStatus.granted)
return;

_locationData = await location.getLocation();

el cuarto paso:

import 'package:share/share.dart';Share.share(
'Hello find me here https://www.google.com/maps/@$position.latitude,$position.longitude,15z ',
subject: 'I am here buddy');

Cargar ahora

Hecho todo

Este es el enlace de recompra del esquema.

LEER  Moto Edge X30, el primero en estar equipado con el SoC de próxima generación de Qualcomm

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba