我正在做一个 Flutter 项目,必须在我的项目中集成谷歌地图。为此,我在 Gogle 控制台上创建了一个新项目,添加了适用于 android 的 Maps SDK 和我需要的其他 API,并将密钥复制粘贴到我的 AndroidManisfest.xml 文件中。
<meta-data 
    android:name="com.google.android.geo.API_KEY"
    android:value="my_key_here"    
></meta-data>
Run Code Online (Sandbox Code Playgroud)
现在,当我转到我的地图屏幕时,它只向我显示左下角带有小框和 Google 图标的空白页面,以及右下角的放大和缩小图标。在控制台中,它给出了错误
这是我的 map.dart 屏幕的代码
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:location/location.dart';
import 'package:permission_handler/permission_handler.dart';
class ViewMapsScreen extends StatefulWidget {
  @override
  _ViewMapsScreenState createState() => _ViewMapsScreenState();
}
class _ViewMapsScreenState extends State<ViewMapsScreen> {
  Completer<GoogleMapController> _controller = Completer();
  static const LatLng _center = const LatLng(45.521563, -122.677433);
  void _onMapCreated(GoogleMapController controller) {
    _controller.complete(controller);
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold( …Run Code Online (Sandbox Code Playgroud) 我有一个名为 HomeFragment.java 的片段,它扩展了 Fragment 类。
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.android.test.R;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
public class HomeFragment extends Fragment {
    private Toolbar toolbar;
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_profile,container,false);
        toolbar = (Toolbar) view.findViewById(R.id.toolbar);
        getActivity().setSupportActionController(toolbar);
        //setSupportActionBar(toolbar);
        return view;
    }
}
Run Code Online (Sandbox Code Playgroud)
但我在行中遇到错误:
getActivity().setSupportActionController(toolbar)
Run Code Online (Sandbox Code Playgroud)
错误是:
Cannot resolve method 'setSupportActionController(android.support.v7.widget.Toolbar)'
Run Code Online (Sandbox Code Playgroud)
并且有一个条件,我不能将我的HomeFragment扩展到AppCombatActivity。它必须仅作为Fragment保留,即公共类 HomeFragment 扩展 Fragment。
条件是因为这段代码中的第 5 行
    Runnable …Run Code Online (Sandbox Code Playgroud)