【发布时间】:2015-05-28 17:16:06
【问题描述】:
我没有尝试使用 Google Maps API,只是尝试在我的应用内的 web 视图中显示标准的 Google Map URL。
当我加载那个 URL 时,我只是得到一个空白页面(在 iOS 上可以正常工作)。我已经研究了几天,但没有解决问题的运气。
Stackoverflow 上的一篇帖子建议从“https”中删除“s”,这为他们解决了问题。我没有这样的运气(现在谷歌地图似乎总是重定向到 https)。
另一个建议像这样覆盖以下方法...
public override bool ShouldOverrideUrlLoading (Android.Webkit.WebView view, string url)
{
return false;
}
但那里也没有运气。还尝试通过像这样覆盖此方法来处理 SSL 错误....
public override void OnReceivedSslError (Android.Webkit.WebView view, SslErrorHandler handler, Android.Net.Http.SslError error)
{
handler.Proceed ();
}
但那里也没有运气,我实际上并没有看到 SSL 错误,所以这并不让我感到惊讶。我发现的所有其他建议都涉及我未使用的 Google Maps API 的问题。
我还通过在 Xamarin 中创建示例项目并仅添加 web 视图并尝试加载 URL 来消除它与我的代码有关的问题。还是空白。
我有一个解决方法是,我可以检测到 Google Map URL 正在加载并将其放入 iFrame 中,然后在 webview 中正确显示。问题在于没有简单的方法可以从标准的谷歌地图 URL 转换为嵌入式版本,并且显示的地图是动态的(由用户设置),因此理想情况下,他们不应该创建嵌入链接并将该 URL 拉出并将其设置在我们的应用中。
所以有什么建议吗?我错过了什么?这是Android上的标准问题吗? Xamarin 是否在做某事?
我可以尝试的任何帮助或新的搜索或路径都会很棒。现在有点碰壁了,很想尝试一些新的途径。
【问题讨论】:
-
这听起来更像是一个设备特定的问题,因为简单的复制在 Nexus 5 设备上工作得很好。您是否尝试过其他启用了 Google 地图的设备? (可能需要登录谷歌帐户才能查看)。其次,您的“adb logcat”对此有何看法? imgur.com/ObYYJiLgithub.com/JonDouglas/xamarin-android-tutorials/tree/master/…
-
有趣,我没有认为它是特定于设备的(尽管没有其他人在网上抱怨这个问题应该是这样指出的)。我设法找到了 Nexus 7,果然我的简单示例应用程序运行良好。三星设备上的相同应用程序不起作用。绝对似乎表明它是特定于设备的!随意回答这个问题,我可以将你标记为正确,因为我很确定这是我能接受的。非常感谢!
标签: android ios webview xamarin xamarin.android