Совместное использование скриншота mkmapview
У меня есть карта с большим количеством материала, которой я хотел бы поделиться в виде картинки / скриншота.
Однако, насколько мне известно, карта - как iOS 6 для Apple, так и iOS 5 для Google- защищена авторским правом, и я не могу просто сделать это. Я думал об API статических карт Google, но не нашел ничего похожего на карты Apple, которые были бы доступны. Как я могу поделиться картинкой карты, не нарушая их правила и все еще используя инфраструктуру MapKit?
Спасибо!
3 ответа
Я борюсь с законами об обмене снимком карты Apple с информацией о треке. Отправил запрос в службу технической поддержки Apple, был перенаправлен в команду App Review, получил только ответ с рекомендациями. Прочитайте информацию о лицензии, нажав на ссылку "Правовая", и да, все права "защищены". Отправил запрос Тому Тому, спрашивающему, не расстроятся ли они из-за такого личного обмена.
Ситуация для Apple довольно печальная, если мы не можем, поскольку мне пришлось бы в ближайшее время прибегнуть к карте OSM для отображения треков, и случаи использования карты Apple в моем приложении (и я полагаю, что многие другие) сводятся к нулю.
Что касается ответа, я думаю о том, чтобы оставить только одну опцию для сохранения снимка карты / трека: "Сохранить в рулон камеры". Если пользователь может сделать снимок экрана в любой момент, я могу просто подготовить "лучшее" изображение без панелей инструментов и т. Д., А затем пользователи могут делать с изображением в кадре камеры все, что им нужно сделать? Я только предоставляю изображение, которое они могли бы обрезать сами? Мне не нужно заботиться, если и как они делятся?
Так что это всего лишь предложение пробежать и посмотреть, звучит ли это разумно...
Как именно вы хотели бы поделиться этим?
Если по электронной почте, то вы можете отправить карту, встроенную в тело письма, чтобы она была даже интерактивной.
- (UIImage *) imageFromView:(UIView *)view {
UIGraphicsBeginImageContext(view.frame.size);
CGContextRef currentContext = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(currentContext, 0, view.size.height);
// passing negative values to flip the image
CGContextScaleCTM(currentContext, 1.0, -1.0);
[[appDelegate.scatterPlotView layer] renderInContext:currentContext];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return screenshot;
}
Просто добавьте свой просмотр карты в uiview и pas uiview к этому методу, и теперь вы можете поделиться своим изображением mapview в любом месте.