【问题标题】:Flutter:Firebase authentication and mapviewFlutter:Firebase 身份验证和地图视图
【发布时间】:2018-07-18 14:33:25
【问题描述】:

我一直在开发需要地图支持和用户身份验证登录的应用程序。当我尝试添加基本用户身份验证时,我创建了一个带有地图视图的应用程序,它工作正常。地图视图不起作用

代码示例:

主页:

 class MapPage extends StatefulWidget {
      @override
      _MapPageState createState() => new _MapPageState();
    }

    class _MapPageState extends State<MapPage> {
      MapView view =new MapView();
      CameraPosition cameraPosition;
      var staticMapProvider =new StaticMapProvider(apiKey);
      Uri staticMapUri;

      @override
      void initState() {
        // TODO: implement initState
        super.initState();
        cameraPosition =new CameraPosition(new Location(13.007515, 80.208595), 15.0);
        staticMapUri =staticMapProvider.getStaticUri(new Location(13.007515, 80.208595),12,height: 200,width: 200,
        mapType: StaticMapViewType.roadmap);
      }

      showMap()
      {
        view.show(new MapOptions(
          title: "Location Tracking" ,
          showUserLocation: true,
          initialCameraPosition:  new CameraPosition(new Location(13.007515, 80.208595), 150.0),
          mapViewType: MapViewType.normal,
        )
        );
      }

      @override
      Widget build(BuildContext context) {
        return new Scaffold(
          body: new Container(
            child: new InkWell(
             child : new Image.network(staticMapUri.toString()),
              onTap:
                showMap
            )
            ),
          );
      }
    }

android/build.gradle:

 dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.google.gms:google-services:3.2.1'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-4'
    }

android/app/build.gradle:

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
apply plugin: 'com.google.gms.google-services'

pubspec.yaml:

dependencies:

  map_view:  
  firebase_auth: '^0.5.5'
  cloud_firestore:

我遇到的问题:

**I/art     (11855): Rejecting re-init on previously-failed class ava.lang.Class<com.google.android.gms.maps.model.CameraPosition>

F/flutter (11855): [FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(60)] Check failed: CheckException(env). 

F/libc    (11855): Fatal signal 6 (SIGABRT), code -6 in tid 11855 (ompany.retroapp)
Lost connection to device.**

当我删除火基身份验证及其依赖项时。地图视图工作正常。 如何集成 Firebase 身份验证和地图视图?

【问题讨论】:

  • 您在项目中添加了什么导致该问题出现?我知道这是 Firebase 身份验证,但是您修改了哪些文件或添加了哪些代码行? (将它们发布在您的问题中)
  • 请不要创建重复的问题。
  • 好的。。谢谢

标签: firebase flutter


【解决方案1】:

当 firebase 和 mapview 使用不同版本的 google play 服务时会发生这种情况。

在app/build.gradle文件中加入这一行即可解决。

com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

在 build.gradle 文件中添加这一行

  subprojects {
    // project.evaluationDependsOn(':app')
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "26.1.0"
            }
        }
    }
}

【讨论】:

  • 在哪里添加 com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true 在 app/build.gradle 中添加这一行
  • 在 app/build.gradle 文件中添加该行
猜你喜欢
  • 2019-05-17
  • 1970-01-01
  • 1970-01-01
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
  • 2018-06-02
  • 2018-06-12
  • 2017-04-17
相关资源
最近更新 更多