首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin在Android上形成跨平台地图发布

Xamarin在Android上形成跨平台地图发布
EN

Stack Overflow用户
提问于 2017-02-07 01:12:51
回答 2查看 483关注 0票数 0

在我的Android应用程序上将Xamarin窗体和地图升级到2.3.3.193版本之后,当我试图显示地图时,我会收到以下错误:

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

知道怎么回事吗?它在更新之前就起作用了。如能提供任何协助,将不胜感激。

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

EN

回答 2

Stack Overflow用户

发布于 2017-03-10 20:19:38

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

依赖关系

从你的截图来看,你有42.1001.0

我在同一条船上。还得使用2016年3月建造的nuget软件包!

票数 1
EN

Stack Overflow用户

发布于 2017-03-16 14:29:36

更新

这个问题已在最新稳定版本的Xamarin Forms 2.3.4.224中得到修正。

原始答案

有关此问题的讨论,请参阅bug.cgi?id=52625

谷歌删除了已经过时一段时间的java getMap方法(即使在29.0.0.1中,您也可以看到等效的Map属性被标记为过时)。表单呈现器使用Map属性(因此是底层的java getMap方法),它不再存在于较新版本的play服务中,因此会发生崩溃。表单呈现程序将需要更改以使用GetMapAsync方法。

Rob (Bugzilla讨论)创建了您可以使用的修补程序:https://www.nuget.org/packages/XamarinForms.Maps.Android.TemporaryPatch

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

  1. MapRenderer从修补程序复制到您的安卓项目。确保调整命名空间
  2. 在PCL项目中扩展Map

公共类CustomMap : Xamarin.Forms.Maps.Map {}

  1. 在Android项目中创建自定义呈现器

程序集: ExportRenderer(typeof(CustomMap),typeof( MapRenderer ))名称空间StanleySteemer.Nimbus.Mobile.Renderers { public class CustomMapRenderer :MapRenderer {}

  1. 在视图中使用CustomMap而不是Map
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42080036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档