Чтение файла kmz и отображение изображений на карте

я прочитал это руководство Apple kml viewvwer. Это помогает мне загружать kml, но и когда я загружаю изображения. Я создаю файлы имен папок и пишу изображения png в папку.. в файле kml используются ссылки на изображения.. Вот код

self.archive = [ZKDataArchive archiveWithArchivePath:archivePath];
[self.archive inflateAll];
for (int i =0;i < [self.archive.inflatedFiles count]; i++) {

    NSDictionary *fileDict = [self.archive.inflatedFiles objectAtIndex:i]; 
    NSData *fileData = [fileDict objectForKey:ZKFileDataKey];
    NSString *fileName = [fileDict objectForKey:ZKPathKey];
    NSString *ext = [fileName pathExtension];

    NSString* fileToSaveTo;

    if([fileName isEqualToString:@"doc.kml"])
    {

        fileToSaveTo = fileName;
        NSArray* path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
        NSString* documentsDirectory = [path objectAtIndex:0];
        NSLog(@"%@",documentsDirectory);
        [fileData writeToFile:[NSString stringWithFormat:@"%@/%@",documentsDirectory,fileToSaveTo] atomically:YES];

    }
    else{
        fileToSaveTo = [fileName substringFromIndex:6];
        NSLog(@"%@",fileToSaveTo);

        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
        NSString *documentsDirectory = [paths objectAtIndex:0];
        // Get documents folder
        NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"files"];
        NSLog(@"%@",documentsDirectory);
        [fileData writeToFile:[NSString stringWithFormat:@"%@/%@",dataPath,fileToSaveTo] atomically:YES];
    }
}

Но я не могу видеть изображения на карте. Изображения в документе безопасны, а файл kml читается отлично... Но я тоже хочу показать изображения :(


person Umair_uas    schedule 19.04.2012    source источник


Ответы (1)


Я не могу комментировать какое-либо использование kml в приложении для iPhone, но я думаю, что проблема, с которой вы столкнулись, вероятно, произойдет еще до того, как это произойдет.

Если вы просматриваете kml/kmz в Google Планета Земля на настольном компьютере, они оба работают правильно? Вы не указали как таковой, но я думаю, что нет. Если это так, то это проблема в чем-то, с чем я не могу помочь.

Мое предложение состояло бы в том, чтобы на самом деле проверить ссылки и структуру файла kmz. Общим стандартом для файла kmz является наличие файла doc.kml в корне архива и всех ресурсов в каталоге «файлы» в этом архиве. По этой причине все ссылки должны быть относительными, например: <href>files\image.png</href> Многие программы, генерирующие kml, будут использовать абсолютные ссылки, которые работают локально, но не при сжатии в kmz или при просмотре кем-либо еще.

person BasilV    schedule 20.04.2012