Xamarin.android Xamarin在Android上形成跨平台地图问题

Xamarin.android Xamarin在Android上形成跨平台地图问题,xamarin.android,xamarin.forms,maps,cross-platform,Xamarin.android,Xamarin.forms,Maps,Cross Platform,将Xamarin表单和地图升级到2.3.3.193版后,在我的Android应用程序上,我现在在尝试显示地图时收到以下错误: {Xamarin.Forms.Platform.Android.ViewRenderer} {System.MissingMemberException} 找不到Android.Gms.Maps.MapView.get_Map' 知道发生了什么吗?它在更新之前工作。任何协助都将不胜感激 我的Nuget manager的屏幕截图显示2.3.3.193是最新的稳定版本 Xam

将Xamarin表单和地图升级到2.3.3.193版后,在我的Android应用程序上,我现在在尝试显示地图时收到以下错误:

{Xamarin.Forms.Platform.Android.ViewRenderer}
{System.MissingMemberException}
找不到Android.Gms.Maps.MapView.get_Map'

知道发生了什么吗?它在更新之前工作。任何协助都将不胜感激

我的Nuget manager的屏幕截图显示2.3.3.193是最新的稳定版本


Xamarin.Forms.Maps 2.3.3.193要求Xamarin.GooglePlayServices.Maps版本为29.0.0.1。不是29.0.0.1或更高

从您的屏幕截图中,您有42.1001.0


我也在同一条船上。仍然需要使用2016年3月制造的nuget软件包

Xamarin.Forms.Maps 2.3.3.193要求Xamarin.GooglePlayServices.Maps版本为29.0.0.1。不是29.0.0.1或更高

从您的屏幕截图中,您有42.1001.0

我也在同一条船上。仍然需要使用2016年3月制造的nuget软件包

更新 这个问题在最新稳定版本的Xamarin表单中得到了修复

原始答案 有关此问题的讨论,请参阅

谷歌删除了他们的java
getMap
方法,该方法已经过时一段时间了(即使在29.0.0.1中,你也可以看到等价的
Map
属性被标记为过时)。表单呈现程序使用
Map
属性(因此底层java
getMap
方法),新版本的play services中不再存在该属性,因此会发生崩溃。表单呈现程序需要更改以使用
getmapsync
方法

Rob Lyndon(Bugzilla讨论)创建了您可以使用的修补程序:

由于PCL配置文件不匹配,我无法直接从Nuget使用修补程序,因此我最终执行了以下操作:

  • 从修补程序复制到您的Android项目。确保调整名称空间
  • 在PCL项目中扩展映射
  • 公共类CustomMap:Xamarin.Forms.Maps.Map{}

  • 在Android项目中创建自定义渲染器
  • 在视图中使用CustomMap而不是Map
  • 更新 这个问题在最新稳定版本的Xamarin表单中得到了修复

    原始答案 有关此问题的讨论,请参阅

    谷歌删除了他们的java
    getMap
    方法,该方法已经过时一段时间了(即使在29.0.0.1中,你也可以看到等价的
    Map
    属性被标记为过时)。表单呈现程序使用
    Map
    属性(因此底层java
    getMap
    方法),新版本的play services中不再存在该属性,因此会发生崩溃。表单呈现程序需要更改以使用
    getmapsync
    方法

    Rob Lyndon(Bugzilla讨论)创建了您可以使用的修补程序:

    由于PCL配置文件不匹配,我无法直接从Nuget使用修补程序,因此我最终执行了以下操作:

  • 从修补程序复制到您的Android项目。确保调整名称空间
  • 在PCL项目中扩展映射
  • 公共类CustomMap:Xamarin.Forms.Maps.Map{}

  • 在Android项目中创建自定义渲染器
  • 在视图中使用CustomMap而不是Map

  • 我已经在NuGet manager中检查了“包含预发布”,但我找不到
    Xamarin.Forms
    Xamarin.Forms.Maps
    的版本2.3.3.193,您是如何更新软件包的?我身边的最新稳定版本是2.3.3.180。它显示在visual studio enterprise中。我通过nuget更新。它说xamarin表单和地图有一个统一的更新。我安装了它,得到了2.3.3.193。我只做稳定版本。我这边是这样:,我也检查了Xamarin版本,我这边是V4.2.1,我也没有找到更新的版本,奇怪的事。那么我建议你和微软的人谈谈我是如何得到这个的。您也没有显示更新选项卡。正如我提到的,193似乎是整合更新的一部分,而不是表单或地图的独立更新。您可以看到我的屏幕截图,其中清楚地显示193不是预发行版。我在NuGet manager中查看了“包含预发行版”,但我找不到
    Xamarin.Forms
    Xamarin.Forms.Maps
    的2.3.3.193发行版,您是如何更新软件包的?我身边的最新稳定版本是2.3.3.180。它显示在visual studio enterprise中。我通过nuget更新。它说xamarin表单和地图有一个统一的更新。我安装了它,得到了2.3.3.193。我只做稳定版本。我这边是这样:,我也检查了Xamarin版本,我这边是V4.2.1,我也没有找到更新的版本,奇怪的事。那么我建议你和微软的人谈谈我是如何得到这个的。您也没有显示更新选项卡。正如我提到的,193似乎是整合更新的一部分,而不是表单或地图的独立更新。你可以看到我的截图,它清楚地显示193不是预发行版。
    [assembly: ExportRenderer(typeof(CustomMap), typeof(MapRenderer))]
    namespace StanleySteemer.Nimbus.Mobile.Renderers
    {
        public class CustomMapRenderer : MapRenderer {}
    }