如何在 Xamarin 中使用 Google Map id?

Posted

技术标签:

【中文标题】如何在 Xamarin 中使用 Google Map id?【英文标题】:How to use Google Map id in Xamarin? 【发布时间】:2022-01-07 13:39:33 【问题描述】:

我想在我的 Xamarin 应用中应用来自 Google Maps Platform 的样式。 我找到了 Java 的解决方案,但我不知道如何在 Xamarin 中做同样的事情。 https://developers.google.com/maps/documentation/android-sdk/get-map-id

【问题讨论】:

github.com/amay077/Xamarin.Forms.GoogleMaps @Jason 我没有找到设置地图 ID 的方法 【参考方案1】:

您想在 Xamarin 应用程序中使用 Google 地图,对吗?

然后在xamarin android中,你可以查看文档Obtaining a Google Maps API Key。

您需要向 Google 注册 Maps API 密钥。在您执行此操作之前,您只会在应用程序中看到一个空白网格而不是地图。您必须获取 Google Maps Android API v2 密钥 - 旧版 Google Maps Android API 密钥 v1 的密钥将不起作用。

获取 Maps API v2 密钥的步骤:

检索用于签名的密钥库的 SHA-1 指纹 应用程序。

在 Google API 控制台中创建一个项目。

获取 API 密钥。

对于xamarin form app,你可以在浏览器中输入关键字Setup Maps in Your Xamarin.Forms Apps,有一些有用的教程。

还有一个示例,您可以在这里查看:Xamarin.Forms.Maps Sample App。

更新:

Xamarin.Forms.GoogleMaps 库它已经支持将样式应用于 Google 地图。步骤是使用地图的 MapStyle 属性添加样式并在那里加载我们的 JSON 文件。

  void AddMapStyle()
        
            var assembly = typeof(MainPage).GetTypeInfo().Assembly;
            var stream = assembly.GetManifestResourceStream($"TrackingSample.MapStyle.json");
            string styleFile;
            using (var reader = new System.IO.StreamReader(stream))
            
                styleFile = reader.ReadToEnd();
            

            map.MapStyle = MapStyle.FromJson(styleFile);
        

而在Google Cloud platform,你可以按照步骤来实现这个功能。在那里您可以自己创建样式。

创建样式后,您可以添加地图ID并与此样式关联。

【讨论】:

我需要使用地图 ID 将云样式应用于地图。我在 Xamarin 中找不到如何执行此操作。 我已经更新了答案,你可以查一下。 感谢您的回答,但这种情况下的 JSON 样式不支持设置 3d 建筑物的颜色,这与 Google Cloud Platform 中的地图样式不同 ` 这种情况下的 JSON 样式不支持设置 3d 建筑物的颜色` 这是另一个问题。一个问题,一个线程。您可以为这个问题创建一个新线程。感谢您对 xamarin 的支持。

以上是关于如何在 Xamarin 中使用 Google Map id?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 API 在 google map xamarin iOS 上更新 PIN 中的信息

在Xamarin中使用Google Map

如何从Xamarin Auth-Google获得访问令牌

使用 google play 服务在 Xamarin 中获取用户位置

Xamarin.UWP和Google Analytics

什么版本的Google移动广告SDK是Xamarin.Google.iOS.MobileAds使用的?