繁体   English   中英

iPhone-禁用提示提示启用位置服务的UIWebView

[英]iPhone - Disable UIWebView from prompting to enable location services

在开发iPhone应用程序的过程中,我决定通过包含UIWebView和我构造的指向maps.google.com的URL来集成Google Maps。 问题是网站试图获取用户的位置,并显示“此应用程序想要使用您的位置”。 这给我带来了许多问题,如有必要,我可以解释。

有什么方法可以禁止UIWebView / Mobile Safari询问用户的位置。 我能想到的唯一解决方法是使用Google的Javascript v3 API制作自己的地图,但是我必须获得许可,而且我不确定100%可以禁用询问位置的功能(尽管我认为我可以能够)。

是否有人有其他解决方法或解决此问题的方法? 谢谢!

我相信我现在找到了合适的解决方法。 我记得您可以使用iframe将Google的地图嵌入到您的网站中。 我检查了他们构造的网址以执行此操作,并注意到他们附加了一个额外的参数“ output = embed”。 我在网址中附加了“输出”变量,并将其粘贴到模拟器上的Mobile Safari中,它不再要求我提供我的位置。

这样做的唯一缺点是到目前为止,我仍然可以看到页面上还有一些额外的UI组件,因为它同时包含页面上的移动控件和网站嵌入控件。 另外,我还没有在实际设备上测试过。

编辑:在设备上进行的测试表明,嵌入控件不起作用,但移动控件与地图的所有其他方面一样起作用。

请改用MKMapView

(我假设您没有使用MKMapView来执行此任务是有原因的,并且您陷于UIWebView中)

您可以尝试通过CLLocationManager在应用程序中更早地(即刚启动后)询问用户位置。 权限警报不会显示超过一次。 (用户是否选择允许,您似乎并不在乎)

虽然不能完全确定这是否适合您的情况,但UIWebView可能仍会提示您允许与其显示的网站共享位置数据的权限。

假设通过JavaScript完成,您可以尝试使用-[UIWebView stringByEvaluatingJavaScriptFromString:]在- (void)webViewDidStartLoad:(UIWebView *)webView注入一些javascript(例如,您可以将location-requesting函数设置为null )。 我不完全确定页面仍在加载时该工具的工作情况如何,但是...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM