Phonegap似乎自動將EXIF數據添加到使用相機拍攝的Jpeg圖像中,從而觸發位置服務警報。 有兩種方法,以防止這種情況發生:
1 - 指定PNG的拍攝畫面的格式(默認的PhoneGap使用JPEG包含EXIF數據)
encodingType=navigator.camera.EncodingType;
function capturePhotoEdit() {
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { encodingType: encodingType.PNG, destinationType: destinationType.DATA_URL });
}
2 - 如果你想要使用JPEG而不是PNG圖像,則必須在第312行和第322行之間的CordovaLib/Classes/CDVCamera.m中註釋掉這些行。這是將EXIF數據添加到圖片的代碼。
NSDictionary *controllerMetadata = [info objectForKey:@"UIImagePickerControllerMediaMetadata"];
if (controllerMetadata) {
self.data = data;
self.metadata = [[NSMutableDictionary alloc] init];
NSMutableDictionary *EXIFDictionary = [[controllerMetadata objectForKey:(NSString *)kCGImagePropertyExifDictionary]mutableCopy];
if (EXIFDictionary) [self.metadata setObject:EXIFDictionary forKey:(NSString *)kCGImagePropertyExifDictionary];
[[self locationManager] startUpdatingLocation];
return;
}