Xamarin.forms xamarin表单IOS映射在错误位置打开

Xamarin.forms xamarin表单IOS映射在错误位置打开,xamarin.forms,maps,Xamarin.forms,Maps,我正在开发一个xamarin表单的应用程序,应该可以在android和ios上运行。 问题在于IOS地图显示的位置错误 IOS位置(错误) 安卓位置(右) 代码: 在本例中,x=“39.7301803”和y=“-8.8438668” 更新 用ExternalMaps插件替换上述代码 var success = CrossExternalMaps.Current.NavigateTo(Store.Name, Double.Parse(x), Double.Parse(y)); 完全相同的结果

我正在开发一个xamarin表单的应用程序,应该可以在android和ios上运行。 问题在于IOS地图显示的位置错误

IOS位置(错误)

安卓位置(右)

代码:

在本例中,
x=“39.7301803”
y=“-8.8438668”

更新 用
ExternalMaps
插件替换上述代码

var success = CrossExternalMaps.Current.NavigateTo(Store.Name, Double.Parse(x), Double.Parse(y));
完全相同的结果:(

您的两个链接(手动组合)在正确的应用程序中打开并指向相同的位置

但是,当我将y参数设置为“0”时,我最终会出现在错误屏幕截图的确切区域。可能是代码中有问题吗?比如没有设置y(在代码片段之前)

你能分享更多你的代码吗

两种平台之间的区别在于如何构建字符串。我建议将iOS部分更改为:

uri = new Uri("http://maps.apple.com/?ll="+ x + ',' + y));

我无法评论这就是我回答您问题的原因。我不知道您为什么要执行设备浏览器的url。我建议您最好使用Xamarin.Forms name space中的“地图”控件。我认为这将完全满足您在地图上的确切点上设置位置的要求

是Xamarin.Forms.Map的良好示例

更新-1

我不确定您是否想使用插件。我在Xamarin.iOS、Xamarin.Android、Windows和Xamarin.Forms项目中找到了一个很好的插件,可以打开外部地图到特定的地理位置或地址

有关更多详细信息,请查看


刚刚找到并测试了代码,但不确定它是否对您有帮助。您可能也会更早地得到相同的代码。

我已经替换了x和y以更正值,结果与此示例中的相同
x=“39.7301803”
y=“-8.8438668”
我是否需要将坐标转换为另一种格式以使用apple map?例如,我想确定变量是字符串还是双精度变量。如果这两种平台之间有所不同。如果它们是双精度变量,您可能应该检查双精度变量是如何序列化的:根据坐标,我怀疑当前区域性s可能是葡萄牙语,小数点分隔符应该是“,”而不是“,”(正如地图应用程序所预期的那样)你在你的iOS测试设备上测试过上面的链接了吗?你最终会在哪里?我试着在mac OS上打开apple maps上的链接,它将我发送到Afforrica附近的大西洋。我对创建地图视图不感兴趣,我想打开默认的地图应用程序。同样的情况也会发生。在android上显示位置很好,在iOS上,我将我发送到sea、 您使用过这个插件吗?是的,您可以看到有问题的代码行更新。
uri = new Uri("http://maps.apple.com/?ll="+ x + ',' + y));