如何激活点击以路由到谷歌地图

Posted

技术标签:

【中文标题】如何激活点击以路由到谷歌地图【英文标题】:How to activate tap to route to Google Maps 【发布时间】:2021-12-17 16:05:58 【问题描述】:

它说谷歌地图没有安装或被禁用。谷歌地图已安装。所以不知何故禁用。我如何在我的项目中使用它?这张图片会告诉你我的意思:

代码在这里:

const double ZOOM = 1;

class HomeView extends StatelessWidget 
  static GoogleMapController? _googleMapController;
  Set<Marker> markers = Set();
  // ignore: prefer_final_fields, unused_field
  Completer<GoogleMapController> _controllerGoogleMap = Completer();
  late GoogleMapController newGoogleMapController;

  late Position currentPosition;
  var geoLocator = Geolocator();
  double bottomPaddingOfMap = 0;

  void locatePosition() async 
    //USER CURRENT LOCATION
    Position position = await Geolocator.getCurrentPosition(
        desiredAccuracy: LocationAccuracy.high);
    currentPosition = position;

    LatLng latLatPosition = LatLng(position.latitude, position.longitude);

    CameraPosition cameraPosition =
        // ignore: unnecessary_new
        new CameraPosition(target: latLatPosition, zoom: 14);
    newGoogleMapController
        .animateCamera(CameraUpdate.newCameraPosition(cameraPosition));
  

       static const CameraPosition _kGooglePlex = const CameraPosition(
    target: LatLng(40.7956, 29.4420),
    zoom: 14.4746,
  ); 

  @override
  Widget build(BuildContext context) 
    return SafeArea(
      child: StreamBuilder<QuerySnapshot>(
        stream: FirebaseFirestore.instance.collection("Location").snapshots(),
        builder: (context, snapshot) 
          // ignore: avoid_print
          print(snapshot);
          if (snapshot.hasData) 
            //Extract the location from document
            GeoPoint location = snapshot.data!.docs.first.get("location");
          

【问题讨论】:

【参考方案1】:

您需要在 androidManifest.xml 中添加 Google 地图包“com.google.android.apps.maps”

<manifest package="com.your.package">
  <queries>
    <package android:name="com.google.android.apps.maps" />
  </queries>
  ...
</manifest>

【讨论】:

这是答案,非常感谢。我会给你赏金:)【参考方案2】:

如果您没有使用 google map api,请在 GCP 上创建一个 api 密钥。创建一个 api 后,在 FLutter 项目中使用。

【讨论】:

【参考方案3】:

我假设你使用这个包google_maps_flutter 与所有暗示连接到某些 google api(或其他)的颤振包一样,包页面上描述了一些涉及的设置。

在程序包可以工作之前完成所有需要的工作非常重要,包括获取 api 密钥 Google Cloud、激活 Android 地图和 ios 地图(如果您需要两者)。然后你需要在你的 Flutter 应用上为 iOS 和 Android 做一些设置。

这一切都在我提供的链接中进行了描述,您应该严格按照他们的说明进行操作。只需一个小的设置错误即可阻止整个工作。

【讨论】:

【参考方案4】:

我遇到了同样的问题,我认为通过在 GoogleMapsConsole -&gt; APILibrary 部分启用 Maps SDK for androidMaps SDK for IOS 解决了这个问题。

Google map console image

然后重新安装应用程序,如果您正在使用模拟器,请重新启动它。

希望对你有帮助。

【讨论】:

以上是关于如何激活点击以路由到谷歌地图的主要内容,如果未能解决你的问题,请参考以下文章

将 CSS 样式标记添加到谷歌地图

从地址变量到谷歌地图[关闭]

将数据库中的坐标绘制到谷歌地图上,不断检查新值

如何将引脚添加到谷歌地图地理编码 api

将远程 api json 数据显示到谷歌地图中

将 SQL 数据库中的经纬度加载到谷歌地图中