【问题标题】:geocoder not working for iOS in Xamarin.Forms地理编码器不适用于 Xamarin.Forms 中的 iOS
【发布时间】:2018-04-20 18:08:53
【问题描述】:

所以我遇到了 iOS 问题。

我有一种方法可以从地址中获取位置。我使用来自 xamarin.forms.maps 的地理编码器方法,它在 android 上运行良好,它给了我正确的位置,做它应该做的,但在 iOS 上它不起作用。

由于某种原因,在我运行这行代码之后:

var geoPositions = await geocoder.GetPositionsForAddressAsync(tuple.address);

方法中的其余代码不执行,它只是跳到方法的末尾,不做任何其他事情。 我没有收到错误或异常或任何东西,它只是退出方法并继续做其他事情。 我尝试使用不同的地址来查看是否是问题所在,但同样的事情发生了,当我尝试使用带坐标的 GetAddressForPositionAsync 方法时也发生了这种情况。

我正在使用真实设备测试应用程序,iOS 版本为 11.2.6 的 iPhone 6,是的,我已在 info.plist 中添加了所有必需的权限

任何关于为什么会发生这种情况的见解将不胜感激,谢谢。

【问题讨论】:

标签: xamarin.forms xamarin.ios


【解决方案1】:

所以我发现了问题所在。 显然我遇到了一个我由于某种原因看不到的异常。

System.InvalidOperationException:您必须调用 Xamarin.FormsMaps.Init ();在使用它之前。在 Xamarin.Forms.Maps.Geocoder.GetPositionsForAddressAsync。

一旦我注意到了,我就看到了

Xamarin.FormsMaps.Init();

只被添加到 android 的主要活动中,而不是 iOS。 我添加了它,现在它可以正常工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多