将从应用程序获取的地理位置传递给UIWebView

我正在开发iOS应用程序,并且在其中一个视图中,我想将UIWebView包含一个包含地图的页面(地址是: https : //carsharing.mvg-mobil.de )。 该网站需要位置权限,所以一旦用户出现这个视图,就会出现一个提示:“ https://carsharing.mvg-mobil.de/想使用你的当前位置,确定/不允许”。

在我的应用程序中,我有从CoreLocation框架中获取的用户的位置。 有没有办法将这个位置传递给这个webview来避免这个警报视图? 通过注入一些JavaScript代码或者某种方式包括URL中的地理位置可能会以某种方式实现?

好的,我在PhoneGap的源代码中find了解决scheme,如何将JavaScript代码注入到standrad webview中,并从CoreLocation中获取位置:

int epoch = [newLocation.timestamp timeIntervalSince1970]; float course = -1.0f; float speed = -1.0f; NSString* coords = [NSString stringWithFormat:@"coords: { latitude: %f, longitude: %f, altitude: %f, heading: %f, speed: %f, accuracy: %f, altitudeAccuracy: %f }", newLocation.coordinate.latitude, newLocation.coordinate.longitude, newLocation.altitude, course, speed, newLocation.horizontalAccuracy, newLocation.verticalAccuracy ]; NSString * jsCallBack = [NSString stringWithFormat:@"navigator.geolocation.setLocation({ timestamp: %d, %@ });", epoch, coords]; [webView stringByEvaluatingJavaScriptFromString:jsCallBack]; 

希望其他人也可以从这个代码中获益。

您可以使用UIWebView的页面调用JavaScript

  stringByEvaluatingJavaScriptFromString:(NSString *)script