由于 iOS 6 在获取用户位置时使用 GeoLocation/WatchPosition 存在错误,因此我在 xcode 中实现 locationManager 并获取坐标。
但是,我想在本地 HTML (webView) 文件中使用这些坐标。是否可以使用、发送或调用 locationManager 中的坐标到 HTML / JavaScript 文件?
编辑:
我想到了一个可能的解决方案......饼干......可以这样做,因为我无法在下面的代码中获得输出:
编辑2:是的,它可以......我调整了下面的代码并且它可以工作。重要的是 Cookie 域和路径选项,因此 webView (HTML) 可以获取 cookie。
但如果有人知道更好的解决方案,请告诉我,我喜欢学习!
- (void)applicationdidBecomeActive {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
...
NSLog(@"%@", DevicePosition);
NSDictionary *newCookieDict = [NSMutableDictionary
dictionaryWithObjectsAndKeys:
@".^filecookies^", NSHTTPCookieDomain,
@"DevicePos", NSHTTPCookieName,
@"/", NSHTTPCookiePath,
DevicePosition, NSHTTPCookieValue,
//@"2012-01-01 12:00:00 -0100", NSHTTPCookieExpires,
nil];
//create a new cookie
NSHTTPCookie *cookie = [NSHTTPCookie
cookieWithProperties:newCookieDict];
//add the new cookie
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
// dev cookie controle
NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [cookieJar cookies]) {
NSLog(@"%@", cookie);
}
HTML 文件:
<script type="text/javascript">
function getCookie(name) {
var re = new RegExp(name + "=([^;]+)");
var value = re.exec(document.cookie);
return (value != null) ? unescape(value[1]) : null;
}
</script>