├── Gemfile ├── LICENSE ├── Default.png ├── Default@2x.png ├── Default-568h@2x.png ├── YandexMapKitSample ├── target.png ├── yandex.png ├── LocateMe.png ├── ZoomPlus.png ├── LocateMe@2x.png ├── ZoomMinus.png ├── ZoomPlus@2x.png ├── en.lproj │ ├── InfoPlist.strings │ └── MainWindow.xib ├── target@2x.png ├── ZoomMinus@2x.png ├── OnScreenButton.png ├── OnScreenButton@2x.png ├── LocateMeHighlighted.png ├── ZoomMinusHighlighted.png ├── ZoomPlusHighlighted.png ├── LocateMeHighlighted@2x.png ├── ZoomMinusHighlighted@2x.png ├── ZoomPlusHighlighted@2x.png ├── OnScreenButtonHighlighted.png ├── OnScreenButtonHighlighted@2x.png ├── YandexMapKitSample-Prefix.pch ├── RootViewController.h ├── SettingsViewController.h ├── TrafficViewController.h ├── MapLayersViewController.h ├── AnnotationsViewController.h ├── CustomAnnotationViewController.h ├── StaticMapExampleViewController.h ├── VisibleRectExampleViewController.h ├── DraggableAnnotationViewController.h ├── YMKSMovingAnnotationsViewController.h ├── CustomCalloutViewController.h ├── OnScreenButtonsViewController.h ├── PointAnnotation.m ├── Settings.h ├── main.mm ├── YandexMapKitSampleAppDelegate.h ├── AnnotationDetailViewController.h ├── MapViewController.h ├── CalloutView.h ├── PointAnnotation.h ├── Sample.h ├── MapViewController.m ├── CalloutView.m ├── Sample.m ├── Settings.m ├── AnnotationDetailViewController.m ├── YandexMapKitSample-Info.plist ├── VisibleRectExampleViewController.m ├── SettingsViewController.m ├── DraggableAnnotationViewController.m ├── TrafficViewController.m ├── CustomAnnotationViewController.m ├── LaunchScreen.xib ├── CustomCalloutViewController.m ├── YandexMapKitSampleAppDelegate.m ├── SamplesList.plist ├── YMKSMovingAnnotationsViewController.m ├── StaticMapExampleViewController.m ├── RootViewController.m ├── AnnotationsViewController.m ├── MapLayersViewController.m ├── OnScreenButtonsViewController.m ├── RootViewController.xib ├── CalloutView.xib ├── MapViewController.xib ├── SettingsViewController.xib ├── AnnotationDetailViewController.xib ├── StaticMapExampleViewController.xib ├── VisibleRectExampleViewController.xib └── OnScreenButtonsViewController.xib ├── yxbuildkit-prebuild.sh ├── Podfile ├── YandexMapKitSample.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ └── YandexMapKitSample.xccheckout ├── yxbuildkit.config ├── .gitignore ├── README.md └── YandexMapKitSample.xcodeproj └── xcshareddata └── xcschemes └── YandexMapKitSample.xcscheme /Gemfile: -------------------------------------------------------------------------------- 1 | source "http://rubygems.org" 2 | 3 | gem 'cocoapods', "~> 0.34.4" 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | EULA for Yandex Map Kit is located at http://legal.yandex.ru/mapkit/ 2 | -------------------------------------------------------------------------------- /Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/Default.png -------------------------------------------------------------------------------- /Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/Default@2x.png -------------------------------------------------------------------------------- /Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/Default-568h@2x.png -------------------------------------------------------------------------------- /YandexMapKitSample/target.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/target.png -------------------------------------------------------------------------------- /YandexMapKitSample/yandex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/yandex.png -------------------------------------------------------------------------------- /YandexMapKitSample/LocateMe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/LocateMe.png -------------------------------------------------------------------------------- /YandexMapKitSample/ZoomPlus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/ZoomPlus.png -------------------------------------------------------------------------------- /YandexMapKitSample/LocateMe@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/LocateMe@2x.png -------------------------------------------------------------------------------- /YandexMapKitSample/ZoomMinus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/ZoomMinus.png -------------------------------------------------------------------------------- /YandexMapKitSample/ZoomPlus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/ZoomPlus@2x.png -------------------------------------------------------------------------------- /YandexMapKitSample/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | CFBundleDisplayName = "YMK Sample"; -------------------------------------------------------------------------------- /YandexMapKitSample/target@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/target@2x.png -------------------------------------------------------------------------------- /YandexMapKitSample/ZoomMinus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/ZoomMinus@2x.png -------------------------------------------------------------------------------- /YandexMapKitSample/OnScreenButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/OnScreenButton.png -------------------------------------------------------------------------------- /yxbuildkit-prebuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | source ~/.rvm/scripts/rvm 4 | 5 | bundle install && \ 6 | pod install 7 | 8 | 9 | -------------------------------------------------------------------------------- /YandexMapKitSample/OnScreenButton@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/OnScreenButton@2x.png -------------------------------------------------------------------------------- /YandexMapKitSample/LocateMeHighlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/LocateMeHighlighted.png -------------------------------------------------------------------------------- /YandexMapKitSample/ZoomMinusHighlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/ZoomMinusHighlighted.png -------------------------------------------------------------------------------- /YandexMapKitSample/ZoomPlusHighlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/ZoomPlusHighlighted.png -------------------------------------------------------------------------------- /YandexMapKitSample/LocateMeHighlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/LocateMeHighlighted@2x.png -------------------------------------------------------------------------------- /YandexMapKitSample/ZoomMinusHighlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/ZoomMinusHighlighted@2x.png -------------------------------------------------------------------------------- /YandexMapKitSample/ZoomPlusHighlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/ZoomPlusHighlighted@2x.png -------------------------------------------------------------------------------- /YandexMapKitSample/OnScreenButtonHighlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/OnScreenButtonHighlighted.png -------------------------------------------------------------------------------- /YandexMapKitSample/OnScreenButtonHighlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yandexmobile/yandexmapkit-ios/HEAD/YandexMapKitSample/OnScreenButtonHighlighted@2x.png -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | 2 | source 'https://github.com/CocoaPods/Specs.git' 3 | 4 | platform :ios, '5.0' 5 | 6 | if ENV['YANDEX_DEV'] 7 | pod 'YandexMapKit', :path => "#{ENV['BINBUILDS_FOLDER']}/yandex-mapkit-ios" 8 | else 9 | pod 'YandexMapKit' 10 | end 11 | 12 | -------------------------------------------------------------------------------- /YandexMapKitSample.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /yxbuildkit.config: -------------------------------------------------------------------------------- 1 | PREBUILD_SCRIPT=yxbuildkit-prebuild.sh 2 | POSTBUILD_SCRIPT=yxbuildkit-postbuild.sh 3 | IPA_TITLE="YMK Sample" 4 | IPA_FILE=yamapkit-iphoneos.ipa 5 | CODE_SIGN_IDENTITY_AdHoc="iPhone Distribution: Yandex LLC" 6 | CODE_SIGN_IDENTITY_AppStore="iPhone Distribution: Yandex, LLC" 7 | APP_VERSION=100 8 | YX_BUILD_KIT_DISABLE_VCS_TAG=1 9 | BUILD_USING_XCODE=Xcode6 -------------------------------------------------------------------------------- /YandexMapKitSample/YandexMapKitSample-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'YandexMapKitSample' target in the 'YandexMapKitSample' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_5_0 8 | #warning "This project uses features only available in iPhone SDK 5.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /YandexMapKitSample/RootViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * RootViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import 13 | 14 | @interface RootViewController : UITableViewController 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | */Release 3 | *.o 4 | build 5 | docs 6 | *.mode1v3 7 | *.mode2v3 8 | *.pbxuser 9 | *.tm_build_errors 10 | *.perspectivev3 11 | xcuserdata 12 | project.xcworkspace 13 | Resources/data-geo 14 | Gemfile.lock 15 | .idea 16 | Resources/Suggest/output 17 | Resources/data-categories 18 | Resources/data-geo 19 | Frank/frankified_build 20 | Frank/lib/xcode_environment.yml 21 | Pods 22 | YandexMaps.xcworkspace/xcshareddata/ 23 | Podfile.lock 24 | -------------------------------------------------------------------------------- /YandexMapKitSample/SettingsViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SettingsViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import 13 | 14 | @interface SettingsViewController : UIViewController 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /YandexMapKitSample/TrafficViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * TrafficViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "MapViewController.h" 13 | 14 | @interface TrafficViewController : MapViewController 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /YandexMapKitSample/MapLayersViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MapLayersViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "MapViewController.h" 13 | 14 | @interface MapLayersViewController : MapViewController 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /YandexMapKitSample/AnnotationsViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * AnnotationsViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "MapViewController.h" 13 | 14 | @interface AnnotationsViewController : MapViewController 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /YandexMapKitSample/CustomAnnotationViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CustomAnnotationViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "MapViewController.h" 13 | 14 | @interface CustomAnnotationViewController : MapViewController 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /YandexMapKitSample/StaticMapExampleViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * StaticMapExampleViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "MapViewController.h" 13 | 14 | @interface StaticMapExampleViewController : MapViewController 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /YandexMapKitSample/VisibleRectExampleViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * VisibleRectExampleViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "MapViewController.h" 13 | 14 | @interface VisibleRectExampleViewController : MapViewController 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /YandexMapKitSample/DraggableAnnotationViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * DraggableAnnotationViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "MapViewController.h" 13 | 14 | @interface DraggableAnnotationViewController : MapViewController 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /YandexMapKitSample/YMKSMovingAnnotationsViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * YMKSMovingAnnotationsViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "MapViewController.h" 13 | 14 | @interface YMKSMovingAnnotationsViewController : MapViewController 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /YandexMapKitSample/CustomCalloutViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CustomCalloutViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import 13 | #import "MapViewController.h" 14 | 15 | @interface CustomCalloutViewController : MapViewController 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /YandexMapKitSample/OnScreenButtonsViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * OnScreenButtonsViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "YandexMapKit.h" 13 | #import "MapViewController.h" 14 | 15 | @interface OnScreenButtonsViewController : MapViewController 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /YandexMapKitSample/PointAnnotation.m: -------------------------------------------------------------------------------- 1 | /* 2 | * PointAnnotation.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "PointAnnotation.h" 13 | 14 | @implementation PointAnnotation 15 | 16 | + (id)pointAnnotation { 17 | return [[[self class] alloc] init]; 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /YandexMapKitSample/Settings.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Settings.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | 13 | #import 14 | 15 | @interface Settings : NSObject 16 | 17 | @property (nonatomic, strong) NSString *apiKey; 18 | 19 | + (Settings *)sharedSettings; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /YandexMapKitSample/main.mm: -------------------------------------------------------------------------------- 1 | /* 2 | * main.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2012 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import 13 | 14 | int main(int argc, char *argv[]) 15 | { 16 | @autoreleasepool { 17 | int retVal = UIApplicationMain(argc, argv, nil, nil); 18 | return retVal; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /YandexMapKitSample/YandexMapKitSampleAppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * YandexMapKitSampleAppDelegate.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import 13 | 14 | @interface YandexMapKitSampleAppDelegate : UIResponder 15 | 16 | @property (nonatomic, strong) UIWindow *window; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /YandexMapKitSample/AnnotationDetailViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * AnnotationDetailViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import 13 | #import "YandexMapKit.h" 14 | 15 | @interface AnnotationDetailViewController : UIViewController 16 | 17 | @property (nonatomic, strong) id annotation; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /YandexMapKitSample/MapViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MapViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import 13 | #import "YandexMapKit.h" 14 | 15 | #import "PointAnnotation.h" 16 | 17 | @interface MapViewController : UIViewController 18 | 19 | @property (nonatomic, weak) IBOutlet YMKMapView * mapView; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /YandexMapKitSample/CalloutView.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CalloutView.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import 13 | #import "YandexMapKit.h" 14 | 15 | @interface CalloutView : UIView 16 | 17 | @property (nonatomic, strong) UILabel * titleLabel; 18 | @property (nonatomic, strong) UILabel * subtitleLabel; 19 | 20 | + (CalloutView *)loadView; 21 | - (void)setHighlighted:(BOOL)highlighted; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /YandexMapKitSample/PointAnnotation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * PointAnnotation.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import 13 | #import "YandexMapKit.h" 14 | 15 | @interface PointAnnotation : NSObject 16 | 17 | + (id)pointAnnotation; 18 | 19 | @property (nonatomic, copy) NSString * title; 20 | @property (nonatomic, copy) NSString * subtitle; 21 | @property (nonatomic, assign) YMKMapCoordinate coordinate; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /YandexMapKitSample/Sample.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Sample.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import 13 | 14 | @interface Sample : NSObject 15 | 16 | @property (nonatomic, readonly, copy) NSString * title; 17 | @property (nonatomic, readonly, copy) NSString * subtitle; 18 | @property (nonatomic, readonly, copy) NSString * viewControllerClassName; 19 | 20 | - (id)initWithDictionary:(NSDictionary *)dictionary; // Designated initializer 21 | + (id)sampleWithDictionary:(NSDictionary *)dictionary; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /YandexMapKitSample/MapViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * MapViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "MapViewController.h" 13 | 14 | @implementation MapViewController 15 | 16 | #pragma mark - View lifecycle 17 | 18 | - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 19 | self = [super initWithNibName:@"MapViewController" bundle:nibBundleOrNil]; 20 | if (self) { 21 | 22 | } 23 | return self; 24 | } 25 | 26 | - (void)viewDidLoad { 27 | [super viewDidLoad]; 28 | [self configureAndInstallMapView]; 29 | } 30 | 31 | - (void)viewDidUnload { 32 | self.mapView = nil; 33 | 34 | [super viewDidUnload]; 35 | } 36 | 37 | #pragma mark - Helpers 38 | 39 | - (void)configureAndInstallMapView { 40 | } 41 | 42 | #pragma mark - Memory Management 43 | 44 | - (void)dealloc { 45 | self.mapView.delegate = nil; 46 | } 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /YandexMapKitSample/CalloutView.m: -------------------------------------------------------------------------------- 1 | /* 2 | * CalloutView.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "CalloutView.h" 13 | 14 | @implementation CalloutView 15 | 16 | + (NSArray *)nibViews { 17 | UINib *uiNib = [UINib nibWithNibName:@"CalloutView" bundle:nil]; 18 | NSArray *result = [uiNib instantiateWithOwner:nil options:nil]; 19 | 20 | return result; 21 | } 22 | 23 | + (CalloutView *)loadView { 24 | NSArray * nibViews = [self nibViews]; 25 | 26 | for (id v in nibViews) { 27 | if ([v isKindOfClass:[self class]]) { 28 | [v setBackgroundColor:[UIColor clearColor]]; 29 | return v; 30 | } 31 | } 32 | NSAssert(NO, @"Can't load CalloutView from nib"); 33 | return nil; 34 | } 35 | 36 | - (void)setHighlighted:(BOOL)highlighted { 37 | self.titleLabel.highlighted = highlighted; 38 | self.subtitleLabel.highlighted = highlighted; 39 | } 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /YandexMapKitSample/Sample.m: -------------------------------------------------------------------------------- 1 | /* 2 | * Sample.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "Sample.h" 13 | 14 | @interface Sample () 15 | 16 | @property (nonatomic, readwrite, copy) NSString * title; 17 | @property (nonatomic, readwrite, copy) NSString * subtitle; 18 | @property (nonatomic, readwrite, copy) NSString * viewControllerClassName; 19 | 20 | @end 21 | 22 | 23 | @implementation Sample 24 | 25 | #pragma mark - NSObject Lifecycle 26 | 27 | - (id)init { 28 | return [self initWithDictionary:nil]; 29 | } 30 | 31 | + (id)sampleWithDictionary:(NSDictionary *)dictionary { 32 | return [[[self class] alloc] initWithDictionary:dictionary]; 33 | } 34 | 35 | - (id)initWithDictionary:(NSDictionary *)dictionary { 36 | self = [super init]; 37 | if (self) { 38 | self.title = dictionary[@"Title"]; 39 | self.subtitle = dictionary[@"Subtitle"]; 40 | self.viewControllerClassName = dictionary[@"ViewControllerClass"]; 41 | } 42 | return self; 43 | } 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /YandexMapKitSample/Settings.m: -------------------------------------------------------------------------------- 1 | /* 2 | * Settings.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "Settings.h" 13 | #import 14 | 15 | static NSString *const kYandexMapKitApiKey = @"YandexMapKitApiKey"; 16 | 17 | #warning Replace with your own Yandex Map Kit API key 18 | static NSString *const kDefaultAPIKey = nil; 19 | 20 | 21 | @implementation Settings 22 | 23 | @dynamic apiKey; 24 | 25 | static Settings *sharedSettings = nil; 26 | 27 | + (Settings *)sharedSettings { 28 | static dispatch_once_t onceToken; 29 | dispatch_once(&onceToken, ^{ 30 | sharedSettings = [self new]; 31 | }); 32 | return sharedSettings; 33 | } 34 | 35 | - (NSString *)apiKey { 36 | NSString *apiKey = [[NSUserDefaults standardUserDefaults] stringForKey:kYandexMapKitApiKey]; 37 | return [apiKey length] ? apiKey : kDefaultAPIKey; 38 | } 39 | 40 | - (void)setApiKey:(NSString *)apiKey { 41 | [[NSUserDefaults standardUserDefaults] setValue:apiKey forKey:kYandexMapKitApiKey]; 42 | [[NSUserDefaults standardUserDefaults] synchronize]; 43 | 44 | [YMKConfiguration sharedInstance].apiKey = apiKey; 45 | } 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /YandexMapKitSample/AnnotationDetailViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * AnnotationDetailViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "AnnotationDetailViewController.h" 13 | 14 | @interface AnnotationDetailViewController () 15 | 16 | @property (nonatomic, weak) IBOutlet UILabel *titleLabel; 17 | @property (nonatomic, weak) IBOutlet UILabel *subtitleLabel; 18 | @property (nonatomic, weak) IBOutlet UILabel *coordinateLabel; 19 | 20 | @end 21 | 22 | 23 | @implementation AnnotationDetailViewController 24 | 25 | #pragma mark - View lifecycle 26 | 27 | - (void)viewDidLoad { 28 | [super viewDidLoad]; 29 | self.title = @"Подробности"; 30 | [self configureAnnotationDetail]; 31 | } 32 | 33 | - (void)viewDidUnload { 34 | self.titleLabel = nil; 35 | self.subtitleLabel = nil; 36 | self.coordinateLabel = nil; 37 | 38 | [super viewDidUnload]; 39 | } 40 | 41 | - (UIRectEdge)edgesForExtendedLayout { 42 | return UIRectEdgeNone; 43 | } 44 | 45 | #pragma mark - Helpers 46 | 47 | - (void)configureAnnotationDetail { 48 | self.titleLabel.text = self.annotation.title; 49 | self.subtitleLabel.text = self.annotation.subtitle; 50 | self.coordinateLabel.text = NSHumanReadableStringFromMapCoordinate(self.annotation.coordinate); 51 | } 52 | 53 | @end 54 | -------------------------------------------------------------------------------- /YandexMapKitSample/YandexMapKitSample-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | ru.yandex.mobile.mapkit-sample 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleShortVersionString 22 | 1.0 23 | CFBundleSignature 24 | ???? 25 | CFBundleVersion 26 | 1.0 27 | LSRequiresIPhoneOS 28 | 29 | NSAppTransportSecurity 30 | 31 | NSAllowsArbitraryLoads 32 | 33 | 34 | NSLocationWhenInUseUsageDescription 35 | "" 36 | NSMainNibFile 37 | MainWindow 38 | UILaunchStoryboardName 39 | LaunchScreen 40 | UISupportedInterfaceOrientations 41 | 42 | UIInterfaceOrientationPortrait 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /YandexMapKitSample.xcworkspace/xcshareddata/YandexMapKitSample.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | 4D25AFA8-576F-4915-B1CD-600329E9A3F2 9 | IDESourceControlProjectName 10 | YandexMapKitSample 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 5311E78A5807F03A8B0E75EF4362449966CA5B4F 14 | https://github.com/yandexmobile/yandexmapkit-ios.git 15 | 16 | IDESourceControlProjectPath 17 | YandexMapKitSample.xcworkspace 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 5311E78A5807F03A8B0E75EF4362449966CA5B4F 21 | .. 22 | 23 | IDESourceControlProjectURL 24 | https://github.com/yandexmobile/yandexmapkit-ios.git 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | 5311E78A5807F03A8B0E75EF4362449966CA5B4F 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 5311E78A5807F03A8B0E75EF4362449966CA5B4F 36 | IDESourceControlWCCName 37 | yandexmapkit-ios 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /YandexMapKitSample/VisibleRectExampleViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * VisibleRectExampleViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "VisibleRectExampleViewController.h" 13 | 14 | @interface VisibleRectExampleViewController () 15 | 16 | - (IBAction)locateMeButtonTapped:(id)sender; 17 | 18 | @property (nonatomic, weak) IBOutlet UIButton *locateMeButton; 19 | @property (nonatomic, weak) IBOutlet UIView *visibleRectView; 20 | 21 | @property (nonatomic, strong) PointAnnotation * annotation; 22 | 23 | @end 24 | 25 | 26 | @implementation VisibleRectExampleViewController 27 | 28 | - (void)configureMapView { 29 | self.mapView.showsUserLocation = NO; 30 | self.mapView.showTraffic = NO; 31 | [self.mapView setCenterCoordinate:YMKMapCoordinateMake(55.733945, 37.588102) 32 | atZoomLevel:16 33 | animated:NO]; 34 | } 35 | 36 | - (void)configureAndInstallAnnotations { 37 | self.annotation = [PointAnnotation pointAnnotation]; 38 | self.annotation.coordinate = YMKMapCoordinateMake(55.733945, 37.588102); 39 | self.annotation.title = @"Yandex"; 40 | 41 | [self.mapView addAnnotation:self.annotation]; 42 | } 43 | 44 | #pragma mark - View lifecycle 45 | 46 | - (NSString *)nibName { 47 | return @"VisibleRectExampleViewController"; 48 | } 49 | 50 | - (void)viewDidLoad 51 | { 52 | [super viewDidLoad]; 53 | 54 | [self configureMapView]; 55 | [self configureAndInstallAnnotations]; 56 | } 57 | 58 | #pragma mark - IBActions 59 | 60 | - (IBAction)locateMeButtonTapped:(id)sender { 61 | [self.mapView scrollToAnnotation:self.annotation animated:YES]; 62 | } 63 | 64 | #pragma mark - YMKMapViewDelegate 65 | 66 | - (CGRect)mapViewVisibleRect:(YMKMapView *)mapView { 67 | return self.visibleRectView.frame; 68 | } 69 | 70 | @end 71 | -------------------------------------------------------------------------------- /YandexMapKitSample/SettingsViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * SettingsViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "SettingsViewController.h" 13 | #import "Settings.h" 14 | 15 | @interface SettingsViewController () 16 | 17 | @property(nonatomic, weak) IBOutlet UITextField *keyTextField; 18 | @property (nonatomic, weak) IBOutlet UIBarButtonItem *cancelButton; 19 | @property (nonatomic, weak) IBOutlet UIBarButtonItem *saveButton; 20 | 21 | @end 22 | 23 | 24 | @implementation SettingsViewController 25 | 26 | 27 | - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 28 | { 29 | if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) { 30 | [self setup]; 31 | } 32 | return self; 33 | } 34 | 35 | - (instancetype)initWithCoder:(NSCoder *)aDecoder 36 | { 37 | if ((self = [super initWithCoder:aDecoder])) { 38 | [self setup]; 39 | } 40 | return self; 41 | } 42 | 43 | - (void)setup 44 | { 45 | self.title = NSLocalizedString(@"Settings", @"Screen title"); 46 | } 47 | 48 | 49 | - (void)viewDidLoad 50 | { 51 | [super viewDidLoad]; 52 | self.keyTextField.text = [Settings sharedSettings].apiKey; 53 | self.navigationItem.leftBarButtonItem = self.cancelButton; 54 | self.navigationItem.rightBarButtonItem = self.saveButton; 55 | } 56 | 57 | - (void)viewDidUnload 58 | { 59 | self.cancelButton = nil; 60 | self.saveButton = nil; 61 | self.keyTextField = nil; 62 | [super viewDidUnload]; 63 | } 64 | 65 | - (void)viewWillAppear:(BOOL)animated { 66 | [super viewWillAppear:animated]; 67 | [self.keyTextField becomeFirstResponder]; 68 | } 69 | 70 | - (IBAction)saveButtonTapped:(id)sender { 71 | [Settings sharedSettings].apiKey = self.keyTextField.text; 72 | [self dismissModalViewControllerAnimated:YES]; 73 | } 74 | 75 | - (IBAction)cancelButtonTapped:(id)sender { 76 | [self dismissModalViewControllerAnimated:YES]; 77 | } 78 | 79 | @end 80 | -------------------------------------------------------------------------------- /YandexMapKitSample/DraggableAnnotationViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * DraggableAnnotationViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "DraggableAnnotationViewController.h" 13 | 14 | @interface DraggableAnnotationViewController () 15 | 16 | @property (nonatomic, strong) PointAnnotation * annotation; 17 | 18 | @end 19 | 20 | 21 | @implementation DraggableAnnotationViewController 22 | 23 | #pragma mark - View lifecycle 24 | 25 | - (void)viewDidLoad { 26 | [super viewDidLoad]; 27 | 28 | [self configureMapView]; 29 | [self configureAndInstallAnnotations]; 30 | } 31 | 32 | - (void)viewDidUnload { 33 | self.annotation = nil; 34 | 35 | [super viewDidUnload]; 36 | } 37 | 38 | #pragma mark - YMKMapViewDelegate 39 | 40 | - (YMKAnnotationView *)mapView:(YMKMapView *)aMapView viewForAnnotation:(id)anAnnotation { 41 | static NSString * identifier = @"pointAnnotation"; 42 | YMKDraggablePinAnnotationView * view = (YMKDraggablePinAnnotationView *)[aMapView dequeueReusableAnnotationViewWithIdentifier:identifier]; 43 | if (view == nil) { 44 | view = [[YMKDraggablePinAnnotationView alloc] initWithAnnotation:self.annotation 45 | reuseIdentifier:identifier]; 46 | view.canShowCallout = YES; 47 | view.pinColor = YMKPinAnnotationColorBlue; 48 | } 49 | 50 | return view; 51 | } 52 | 53 | #pragma mark - Helpers 54 | 55 | - (void)configureMapView { 56 | self.mapView.showsUserLocation = NO; 57 | self.mapView.showTraffic = NO; 58 | [self.mapView setCenterCoordinate:YMKMapCoordinateMake(55.733945, 37.588102) 59 | atZoomLevel:16 60 | animated:NO]; 61 | } 62 | 63 | - (void)configureAndInstallAnnotations { 64 | self.annotation = [PointAnnotation pointAnnotation]; 65 | self.annotation.coordinate = YMKMapCoordinateMake(55.733945, 37.588102); 66 | self.annotation.title = @"Перетащи меня!"; 67 | 68 | [self.mapView addAnnotation:self.annotation]; 69 | self.mapView.selectedAnnotation = self.annotation; 70 | } 71 | 72 | @end 73 | -------------------------------------------------------------------------------- /YandexMapKitSample/TrafficViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * TrafficViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "TrafficViewController.h" 13 | 14 | @implementation TrafficViewController 15 | 16 | #pragma mark - View lifecycle 17 | 18 | - (void)viewDidLoad { 19 | [super viewDidLoad]; 20 | 21 | [self configureMapView]; 22 | [self updateTrafficInformer]; 23 | [self subscribeForTrafficNotifications]; 24 | } 25 | 26 | - (void)viewDidUnload { 27 | [self unsubscribeFromTrafficNotifications]; 28 | 29 | [super viewDidUnload]; 30 | } 31 | 32 | #pragma mark - Helpers 33 | 34 | - (void)configureMapView { 35 | self.mapView.showsUserLocation = NO; 36 | self.mapView.showTraffic = YES; 37 | [self.mapView setCenterCoordinate:YMKMapCoordinateMake(55.753699, 37.619001) 38 | atZoomLevel:11 39 | animated:NO]; 40 | } 41 | 42 | #pragma mark - Traffic Notifications 43 | 44 | - (void)updateTrafficInformer { 45 | YMKTrafficInformer * informer = [self.mapView.trafficInformers lastObject]; 46 | self.title = [NSString stringWithFormat:@"Пробки: %d", informer.value]; 47 | } 48 | 49 | - (void)subscribeForTrafficNotifications { 50 | [self.mapView addObserver:self forKeyPath:@"trafficInformers" options:0 context:NULL]; 51 | } 52 | 53 | - (void)unsubscribeFromTrafficNotifications { 54 | [self.mapView removeObserver:self forKeyPath:@"trafficInformers"]; 55 | } 56 | 57 | - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { 58 | if ([keyPath isEqualToString:@"trafficInformers"] && object == self.mapView) { 59 | // Traffic informers are always processed in background 60 | __weak typeof(self) blockSelf = self; 61 | dispatch_async(dispatch_get_main_queue(), ^{ 62 | [blockSelf updateTrafficInformer]; 63 | }); 64 | } 65 | else { 66 | [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; 67 | } 68 | } 69 | 70 | - (void)dealloc { 71 | [self unsubscribeFromTrafficNotifications]; 72 | } 73 | 74 | @end 75 | -------------------------------------------------------------------------------- /YandexMapKitSample/CustomAnnotationViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * CustomAnnotationViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "CustomAnnotationViewController.h" 13 | 14 | @interface CustomAnnotationViewController () 15 | 16 | @property (nonatomic, strong) PointAnnotation * annotation; 17 | 18 | @end 19 | 20 | 21 | @implementation CustomAnnotationViewController 22 | 23 | #pragma mark - View lifecycle 24 | 25 | - (void)viewDidLoad { 26 | [super viewDidLoad]; 27 | 28 | [self configureMapView]; 29 | [self configureAndInstallAnnotations]; 30 | } 31 | 32 | - (void)viewDidUnload { 33 | self.annotation = nil; 34 | 35 | [super viewDidUnload]; 36 | } 37 | 38 | #pragma mark - YMKMapViewDelegate 39 | 40 | - (YMKAnnotationView *)mapView:(YMKMapView *)aMapView viewForAnnotation:(id)anAnnotation { 41 | static NSString * identifier = @"pointAnnotation"; 42 | YMKPinAnnotationView * view = (YMKPinAnnotationView *)[aMapView dequeueReusableAnnotationViewWithIdentifier:identifier]; 43 | if (view == nil) { 44 | view = [[YMKPinAnnotationView alloc] initWithAnnotation:anAnnotation 45 | reuseIdentifier:identifier]; 46 | } 47 | 48 | [self configureAnnotationView:view forAnnotation:anAnnotation]; 49 | return view; 50 | } 51 | 52 | #pragma mark - Helpers 53 | 54 | - (void)configureMapView { 55 | self.mapView.showsUserLocation = NO; 56 | self.mapView.showTraffic = NO; 57 | [self.mapView setCenterCoordinate:YMKMapCoordinateMake(55.733945, 37.588102) 58 | atZoomLevel:16 59 | animated:NO]; 60 | } 61 | 62 | - (void)configureAndInstallAnnotations { 63 | self.annotation = [PointAnnotation pointAnnotation]; 64 | self.annotation.coordinate = YMKMapCoordinateMake(55.733945, 37.588102); 65 | 66 | [self.mapView addAnnotation:self.annotation]; 67 | self.mapView.selectedAnnotation = self.annotation; 68 | } 69 | 70 | - (void)configureAnnotationView:(YMKPinAnnotationView *)aView forAnnotation:(id)anAnnotation { 71 | if (anAnnotation == self.annotation) { 72 | aView.image = [UIImage imageNamed:@"yandex.png"]; 73 | aView.selectedImage = nil; 74 | } 75 | } 76 | 77 | @end 78 | -------------------------------------------------------------------------------- /YandexMapKitSample/LaunchScreen.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /YandexMapKitSample/CustomCalloutViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * CustomCalloutViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "CustomCalloutViewController.h" 13 | #import "CalloutView.h" 14 | 15 | @interface CustomCalloutViewController () 16 | 17 | @property (nonatomic, strong) PointAnnotation * annotation; 18 | 19 | @end 20 | 21 | 22 | @implementation CustomCalloutViewController 23 | 24 | #pragma mark - View lifecycle 25 | 26 | - (void)viewDidLoad { 27 | [super viewDidLoad]; 28 | [self configureMapView]; 29 | [self configureAndInstallAnnotations]; 30 | } 31 | 32 | - (void)viewDidUnload { 33 | self.annotation = nil; 34 | 35 | [super viewDidUnload]; 36 | } 37 | 38 | #pragma mark - YMKMapViewDelegate 39 | 40 | - (YMKAnnotationView *)mapView:(YMKMapView *)aMapView viewForAnnotation:(id)anAnnotation 41 | { 42 | static NSString * identifier = @"pointAnnotation"; 43 | YMKPinAnnotationView * view = (YMKPinAnnotationView *)[aMapView dequeueReusableAnnotationViewWithIdentifier:identifier]; 44 | 45 | if (view == nil) { 46 | view = [[YMKPinAnnotationView alloc] initWithAnnotation:anAnnotation reuseIdentifier:identifier]; 47 | view.canShowCallout = YES; 48 | } 49 | 50 | return view; 51 | } 52 | 53 | - (YMKCalloutView *)mapView:(YMKMapView *)mapView calloutViewForAnnotation:(id)annotation { 54 | 55 | static NSString * customCalloutIdentifier = @"customCalloutIdentefier"; 56 | YMKCalloutView * customCalloutView = [mapView dequeueReusableCalloutViewWithIdentifier:customCalloutIdentifier]; 57 | 58 | if (!customCalloutView) { 59 | customCalloutView = [[YMKCalloutView alloc] initWithReuseIdentifier:customCalloutIdentifier]; 60 | customCalloutView.contentView = [CalloutView loadView]; 61 | } 62 | 63 | // обновление полей calloutView.contentView, если нужно 64 | 65 | return customCalloutView; 66 | } 67 | 68 | #pragma mark - Helpers 69 | 70 | - (void)configureMapView { 71 | self.mapView.showsUserLocation = NO; 72 | self.mapView.showTraffic = NO; 73 | [self.mapView setCenterCoordinate:YMKMapCoordinateMake(55.755816, 37.623507) 74 | atZoomLevel:11 75 | animated:NO]; 76 | } 77 | 78 | - (void)configureAndInstallAnnotations { 79 | self.annotation = [PointAnnotation pointAnnotation]; 80 | self.annotation.coordinate = YMKMapCoordinateMake(55.749475, 37.543084); 81 | 82 | [self.mapView addAnnotation:self.annotation]; 83 | self.mapView.selectedAnnotation = self.annotation; 84 | } 85 | 86 | @end 87 | -------------------------------------------------------------------------------- /YandexMapKitSample/YandexMapKitSampleAppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | * YandexMapKitSampleAppDelegate.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "YandexMapKitSampleAppDelegate.h" 13 | #import "Settings.h" 14 | #import 15 | 16 | @interface YandexMapKitSampleAppDelegate () 17 | 18 | @property (nonatomic, weak) IBOutlet UINavigationController *navigationController; 19 | 20 | @end 21 | 22 | 23 | @implementation YandexMapKitSampleAppDelegate 24 | 25 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 26 | { 27 | [YMKConfiguration sharedInstance].apiKey = [Settings sharedSettings].apiKey; 28 | 29 | self.window.rootViewController = self.navigationController; 30 | 31 | [self.window makeKeyAndVisible]; 32 | return YES; 33 | } 34 | 35 | - (void)applicationWillResignActive:(UIApplication *)application 36 | { 37 | /* 38 | Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 39 | Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 40 | */ 41 | } 42 | 43 | - (void)applicationDidEnterBackground:(UIApplication *)application 44 | { 45 | /* 46 | Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 47 | If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 48 | */ 49 | } 50 | 51 | - (void)applicationWillEnterForeground:(UIApplication *)application 52 | { 53 | /* 54 | Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 55 | */ 56 | } 57 | 58 | - (void)applicationDidBecomeActive:(UIApplication *)application 59 | { 60 | /* 61 | Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 62 | */ 63 | } 64 | 65 | - (void)applicationWillTerminate:(UIApplication *)application 66 | { 67 | /* 68 | Called when the application is about to terminate. 69 | Save data if appropriate. 70 | See also applicationDidEnterBackground:. 71 | */ 72 | } 73 | 74 | 75 | @end 76 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | **Эта версия больше не поддерживается, актуальную инфрмацию о новых версиях MapKit можно найти по ссылкам:** 2 | 3 | [Документация](https://tech.yandex.ru/maps/mapkit/) 4 | 5 | [Cocoa Pods](https://cocoapods.org/pods/YandexMapKit) 6 | 7 | [Примеры использования](https://github.com/yandex/mapkit-ios-demo) 8 | 9 | В этом репозитории находится тестовое приложение, демонстрирующее возможности Yandex Map Kit. 10 | 11 | Как начать работу с тестовым проектом 12 | ------------ 13 | 14 | 1. Клонируйте репозиторий примера 15 | 16 | ``` 17 | git clone https://github.com/yandexmobile/yandexmapkit-ios.git 18 | ``` 19 | 20 | 2. [Установите](http://docs.cocoapods.org/guides/installing_cocoapods.html) CocoaPods, если вы еще не сделали этого. 21 | 22 | 3. Перейдите в папку проекта, полученную на шаге 1. 23 | 24 | 4. Установите зависимости: 25 | 26 | ``` 27 | pod install 28 | ``` 29 | 30 | 5. Откройте workspace проекта YandexMapKitSample.xcworkspace в Xcode. 31 | 32 | 6. Подставьте свой [API ключ](http://feedback.yandex.ru/?from=mapkit) в `-[YMKConfiguration setApiKey:]` 33 | 34 | 7. Соберите и запустите target YandexMapKitSample. 35 | 36 | Интеграция с Яндекс.Картами 37 | --------------------------- 38 | Документация по интеграции с мобильными Яндекс.Картами выложена на [tech.yandex.ru](https://tech.yandex.ru/yandex-apps-launch/maps/) 39 | 40 | Дополнительная информация 41 | --------------------------- 42 | 43 | Также у этого проекта есть [Wiki](https://github.com/yandexmobile/yandexmapkit-ios/wiki), в которой содержится полезная информация о Yandex Map Kit. 44 | 45 | Если вы хотите сообщить об ошибке или предложить идею в развитии, то напишите об этом, пожалуйста, в [Issues](https://github.com/yandexmobile/yandexmapkit-ios/issues). 46 | 47 | Изменения 48 | ----------------------------------------------- 49 | 50 | **1.0.10** 51 | 52 | * Добавлен BITCODE 53 | 54 | **1.0.9** 55 | 56 | * Исправлена ошибка подключения через cocoapods 57 | 58 | **1.0.8** 59 | 60 | * Исправлены `YMKMapRegionMake` и `[YMKMapView setRegion:]` [#174](https://github.com/yandexmobile/yandexmapkit-ios/issues/174), [#171](https://github.com/yandexmobile/yandexmapkit-ios/issues/171) 61 | 62 | **1.0.7** 63 | * Поддержка arm64 [#148](https://github.com/yandexmobile/yandexmapkit-ios/issues/148), [#159](https://github.com/yandexmobile/yandexmapkit-ios/issues/159) 64 | * YMKMapView больше не препятствует воспроизведению музыки в фоне [#153](https://github.com/yandexmobile/yandexmapkit-ios/issues/153) 65 | * Новые иконки. Для использования старых установите 66 | `[YMKConfiguration sharedInstance].useNewBundle = NO;` 67 | * Обновлён тестовый проект 68 | 69 | **1.0.6** 70 | 71 | [Список изменений](https://github.com/yandexmobile/yandexmapkit-ios/wiki/Изменения-в-версии-Yandex-Map-Kit-для-iOS-1.0.6) 72 | 73 | **1.0.5** 74 | 75 | [Список изменений](https://github.com/yandexmobile/yandexmapkit-ios/wiki/Изменения-в-версии-Yandex-Map-Kit-для-iOS-1.0.5) 76 | 77 | **1.0.4** 78 | 79 | [Список изменений](https://github.com/yandexmobile/yandexmapkit-ios/wiki/Изменения-в-версии-Yandex-Map-Kit-для-iOS-1.0.4) 80 | -------------------------------------------------------------------------------- /YandexMapKitSample/SamplesList.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Samples 6 | 7 | 8 | Title 9 | Аннотации на карте 10 | Subtitle 11 | Простое добавление аннотаций на карту 12 | ViewControllerClass 13 | AnnotationsViewController 14 | 15 | 16 | Title 17 | Нестандартный балун 18 | Subtitle 19 | Гибкую настройку балуна аннотации 20 | ViewControllerClass 21 | CustomCalloutViewController 22 | 23 | 24 | Title 25 | Нестандартная аннотация 26 | Subtitle 27 | Настройка отображения аннотации на карте путём изменения её свойства image 28 | ViewControllerClass 29 | CustomAnnotationViewController 30 | 31 | 32 | Title 33 | Передвигаемая аннотация 34 | Subtitle 35 | Возможность перетаскивания добавленной аннотации по карте 36 | ViewControllerClass 37 | DraggableAnnotationViewController 38 | 39 | 40 | Title 41 | Отображение пробок 42 | Subtitle 43 | Демонстрирует показ пробок на карте и информера баллов пробок 44 | ViewControllerClass 45 | TrafficViewController 46 | 47 | 48 | Title 49 | Настройка слоёв карты 50 | Subtitle 51 | Выбор активного слоя на карте — Схема, Гибрид, Народная 52 | ViewControllerClass 53 | MapLayersViewController 54 | 55 | 56 | Title 57 | Экранные кнопки 58 | Subtitle 59 | Показ кнопок зуммирования и найти меня 60 | ViewControllerClass 61 | OnScreenButtonsViewController 62 | 63 | 64 | Title 65 | mapViewVisibleRect: 66 | Subtitle 67 | Пример работы с mapViewVisibleRect: 68 | ViewControllerClass 69 | VisibleRectExampleViewController 70 | 71 | 72 | Title 73 | YMKMapImageBuilder 74 | Subtitle 75 | Пример работы с YMKMapImageBuilder 76 | ViewControllerClass 77 | StaticMapExampleViewController 78 | 79 | 80 | Title 81 | Двигающиеся аннотации 82 | Subtitle 83 | Пример работы с аннотациями, которые автоматически передвигаются по карте 84 | ViewControllerClass 85 | YMKSMovingAnnotationsViewController 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /YandexMapKitSample.xcodeproj/xcshareddata/xcschemes/YandexMapKitSample.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 51 | 52 | 58 | 59 | 60 | 61 | 62 | 63 | 69 | 70 | 76 | 77 | 78 | 79 | 81 | 82 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /YandexMapKitSample/YMKSMovingAnnotationsViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * YMKSMovingAnnotationsViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "YMKSMovingAnnotationsViewController.h" 13 | 14 | 15 | @interface YMKSMovingAnnotationsViewController () 16 | 17 | @property (nonatomic, strong) PointAnnotation *targetAnnotation; 18 | @property (nonatomic, strong) NSTimer *timer; 19 | @property (nonatomic, assign) YMKMapCoordinate origin; 20 | 21 | @end 22 | 23 | 24 | @implementation YMKSMovingAnnotationsViewController 25 | 26 | - (void)dealloc 27 | { 28 | [_timer invalidate]; 29 | } 30 | 31 | #pragma mark - View lifecycle 32 | 33 | - (void)viewDidLoad 34 | { 35 | [super viewDidLoad]; 36 | [self configureMapView]; 37 | [self configureAndInstallAnnotations]; 38 | } 39 | 40 | - (void)viewDidUnload 41 | { 42 | self.targetAnnotation = nil; 43 | [super viewDidUnload]; 44 | } 45 | 46 | - (void)viewWillAppear:(BOOL)animated 47 | { 48 | [super viewWillAppear:animated]; 49 | self.timer = [NSTimer scheduledTimerWithTimeInterval:0.025 50 | target:self 51 | selector:@selector(step) 52 | userInfo:nil 53 | repeats:YES]; 54 | [self.timer fire]; 55 | } 56 | 57 | - (void)viewWillDisappear:(BOOL)animated 58 | { 59 | [self.timer invalidate]; 60 | self.timer = nil; 61 | [super viewWillDisappear:animated]; 62 | } 63 | 64 | #pragma mark - YMKMapViewDelegate 65 | 66 | - (YMKAnnotationView *)mapView:(YMKMapView *)mapView viewForAnnotation:(id)annotation 67 | { 68 | static NSString *identifier = @"targetAnnotation"; 69 | YMKPinAnnotationView *view = (YMKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:identifier]; 70 | if (view == nil) { 71 | view = [[YMKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier]; 72 | view.canShowCallout = NO; 73 | view.image = view.selectedImage = [UIImage imageNamed:@"target.png"]; 74 | } 75 | return view; 76 | } 77 | 78 | #pragma mark - Helpers 79 | 80 | - (void)configureMapView 81 | { 82 | self.mapView.showsUserLocation = NO; 83 | self.mapView.showTraffic = NO; 84 | [self.mapView setCenterCoordinate:YMKMapCoordinateMake(55.764231, 37.561723) 85 | atZoomLevel:13 86 | animated:NO]; 87 | } 88 | 89 | - (void)configureAndInstallAnnotations 90 | { 91 | self.origin = YMKMapCoordinateMake(55.764231, 37.561723); 92 | self.targetAnnotation = [PointAnnotation pointAnnotation]; 93 | self.targetAnnotation.coordinate = self.origin; 94 | self.targetAnnotation.title = @"Двигающийся объект"; 95 | [self.mapView addAnnotation:self.targetAnnotation]; 96 | self.mapView.selectedAnnotation = self.targetAnnotation; 97 | } 98 | 99 | #pragma mark - Timer 100 | 101 | - (void)step 102 | { 103 | static CGFloat delta = 0; 104 | static CGFloat step = 0.0001; 105 | 106 | self.targetAnnotation.coordinate = YMKMapCoordinateMake(self.origin.latitude + delta, 107 | self.origin.longitude + delta); 108 | 109 | delta += step; 110 | if (delta > 0.01 || delta < -0.01) { 111 | step = -step; 112 | } 113 | } 114 | 115 | @end 116 | -------------------------------------------------------------------------------- /YandexMapKitSample/StaticMapExampleViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * StaticMapExampleViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "StaticMapExampleViewController.h" 13 | 14 | #import 15 | 16 | 17 | @interface StaticMapExampleViewController () 18 | 19 | @property (nonatomic, weak) IBOutlet UIImageView *staticMap; 20 | @property (nonatomic, weak) IBOutlet UIActivityIndicatorView *activityIndicator; 21 | @property (nonatomic, strong) YMKMapImageBuilder *mapImageBuilder; 22 | 23 | @end 24 | 25 | 26 | 27 | 28 | @implementation StaticMapExampleViewController 29 | 30 | - (void)configureMapView { 31 | self.mapView.showsUserLocation = NO; 32 | self.mapView.showTraffic = NO; 33 | [self.mapView setCenterCoordinate:YMKMapCoordinateMake(55.733945, 37.588102) 34 | atZoomLevel:16 35 | animated:NO]; 36 | 37 | [self createStaticMap]; 38 | } 39 | 40 | #pragma mark - View lifecycle 41 | 42 | - (NSString *)nibName { 43 | return @"StaticMapExampleViewController"; 44 | } 45 | 46 | - (void)viewDidLoad 47 | { 48 | [super viewDidLoad]; 49 | 50 | [self configureMapView]; 51 | } 52 | 53 | - (YMKMapImageBuilder *)mapImageBuilder { 54 | if (!_mapImageBuilder) { 55 | _mapImageBuilder = [[YMKMapImageBuilder alloc] init]; 56 | _mapImageBuilder.delegate = self; 57 | } 58 | return _mapImageBuilder; 59 | } 60 | 61 | #pragma mark - YMKMapViewDelegate 62 | 63 | - (void)mapView:(YMKMapView *)mapView gotSingleTapAtCoordinate:(YMKMapCoordinate)coordinate { 64 | PointAnnotation *annotation = [PointAnnotation pointAnnotation]; 65 | annotation.coordinate = coordinate; 66 | annotation.title = [NSString stringWithFormat:@"#%d", 1 + [self.mapView.annotations count]]; 67 | 68 | [self.mapView addAnnotation:annotation]; 69 | 70 | [self createStaticMap]; 71 | } 72 | 73 | - (void)mapViewWasDragged:(YMKMapView *)mapView { 74 | [self createStaticMap]; 75 | } 76 | 77 | - (void)mapView:(YMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated { 78 | [self createStaticMap]; 79 | } 80 | 81 | 82 | #pragma mark - YMKMapImageBuilder main example 83 | 84 | - (void)createStaticMap { 85 | [self.mapImageBuilder cancel]; 86 | self.activityIndicator.hidden = NO; 87 | [self.activityIndicator startAnimating]; 88 | 89 | self.mapImageBuilder.annotations = self.mapView.annotations; 90 | self.mapImageBuilder.centerCoordinate = self.mapView.centerCoordinate; 91 | self.mapImageBuilder.zoomLevel = self.mapView.zoomLevel; 92 | self.mapImageBuilder.layerIdentifier = self.mapView.visibleLayerIdentifier; 93 | self.mapImageBuilder.imageSize = self.staticMap.frame.size; 94 | [self.mapImageBuilder build]; 95 | } 96 | 97 | - (void)renderingDoneWithImage:(UIImage *)image { 98 | self.staticMap.image = image; 99 | self.activityIndicator.hidden = YES; 100 | [self.activityIndicator stopAnimating]; 101 | } 102 | 103 | #pragma mark - YMKMapImageBuilderDelegate 104 | 105 | 106 | - (void)mapImageBuilder:(YMKMapImageBuilder *)builder builtImage:(UIImage *)image { 107 | [self renderingDoneWithImage:image]; 108 | } 109 | 110 | - (void)mapImageBuilderFailedToLoadCompleteImage:(YMKMapImageBuilder *)builder partialImage:(UIImage *)image { 111 | [self renderingDoneWithImage:image]; 112 | } 113 | 114 | - (void)mapImageBuilderWasCancelled:(YMKMapImageBuilder *)builder { 115 | [self renderingDoneWithImage:self.staticMap.image]; 116 | } 117 | 118 | 119 | @end 120 | -------------------------------------------------------------------------------- /YandexMapKitSample/RootViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * RootViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "RootViewController.h" 13 | #import "Sample.h" 14 | #import "SettingsViewController.h" 15 | 16 | @interface RootViewController () 17 | 18 | @property (nonatomic, copy) NSArray * samples; 19 | 20 | @end 21 | 22 | 23 | @implementation RootViewController 24 | 25 | - (id)initWithStyle:(UITableViewStyle)style { 26 | self = [super initWithStyle:style]; 27 | if (self) { 28 | // Custom initialization 29 | } 30 | return self; 31 | } 32 | 33 | - (IBAction)settingsButtonTapped:(id)sender { 34 | SettingsViewController *vc = [[SettingsViewController alloc] init]; 35 | UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:vc]; 36 | [self presentModalViewController:nc animated:YES]; 37 | } 38 | 39 | #pragma mark - View lifecycle 40 | 41 | - (void)viewDidLoad { 42 | [super viewDidLoad]; 43 | [self configureTableView]; 44 | [self readSamples]; 45 | } 46 | 47 | - (void)viewDidUnload { 48 | [super viewDidUnload]; 49 | // Release any retained subviews of the main view. 50 | // e.g. self.myOutlet = nil; 51 | } 52 | 53 | #pragma mark - UITableViewDataSource 54 | 55 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 56 | return [self.samples count]; 57 | } 58 | 59 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 60 | static NSString *CellIdentifier = @"SampleCell"; 61 | 62 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 63 | if (cell == nil) { 64 | cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle 65 | reuseIdentifier:CellIdentifier]; 66 | } 67 | 68 | [self configureTableViewCell:cell atIndexPath:indexPath]; 69 | return cell; 70 | } 71 | 72 | #pragma mark - UITableViewDelegate 73 | 74 | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 75 | Sample * sample = [self sampleAtIndexPath:indexPath]; 76 | Class viewControllerClass = NSClassFromString(sample.viewControllerClassName); 77 | 78 | UIViewController * viewController = [[viewControllerClass alloc] init]; 79 | viewController.title = sample.title; 80 | 81 | [self.navigationController pushViewController:viewController animated:YES]; 82 | } 83 | 84 | #pragma mark - Helpers 85 | 86 | - (void)configureTableViewCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath { 87 | Sample * sample = [self sampleAtIndexPath:indexPath]; 88 | cell.textLabel.text = sample.title; 89 | cell.detailTextLabel.text = sample.subtitle; 90 | cell.detailTextLabel.numberOfLines = 3; 91 | cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 92 | } 93 | 94 | - (void)configureTableView { 95 | self.tableView.rowHeight = 80.0f; 96 | } 97 | 98 | - (void)readSamples { 99 | NSMutableArray * tempArray = [[NSMutableArray alloc] initWithCapacity:5]; 100 | NSString * samplesDictionaryPath = [[NSBundle mainBundle] pathForResource:@"SamplesList" ofType:@"plist"]; 101 | NSDictionary * samplesDictionary = [[NSDictionary alloc] initWithContentsOfFile:samplesDictionaryPath]; 102 | 103 | for (NSDictionary * sampleDictionary in samplesDictionary[@"Samples"]) { 104 | Sample * sample = [Sample sampleWithDictionary:sampleDictionary]; 105 | [tempArray addObject:sample]; 106 | } 107 | 108 | self.samples = [NSArray arrayWithArray:tempArray]; 109 | 110 | } 111 | 112 | - (Sample *)sampleAtIndexPath:(NSIndexPath *)indexPath { 113 | return (self.samples)[indexPath.row]; 114 | } 115 | 116 | @end 117 | -------------------------------------------------------------------------------- /YandexMapKitSample/AnnotationsViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * AnnotationsViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "AnnotationsViewController.h" 13 | #import "AnnotationDetailViewController.h" 14 | 15 | @interface AnnotationsViewController () 16 | 17 | @property (nonatomic, strong) PointAnnotation * metroAnnotation; 18 | @property (nonatomic, strong) PointAnnotation * yacAnnotation; 19 | 20 | @end 21 | 22 | 23 | @implementation AnnotationsViewController 24 | 25 | #pragma mark - View lifecycle 26 | 27 | - (void)viewDidLoad { 28 | [super viewDidLoad]; 29 | [self configureMapView]; 30 | [self configureAndInstallAnnotations]; 31 | } 32 | 33 | - (void)viewDidUnload { 34 | self.metroAnnotation = nil; 35 | self.yacAnnotation = nil; 36 | 37 | [super viewDidUnload]; 38 | } 39 | 40 | #pragma mark - YMKMapViewDelegate 41 | 42 | - (YMKAnnotationView *)mapView:(YMKMapView *)mapView viewForAnnotation:(id)annotation 43 | { 44 | static NSString * identifier = @"pointAnnotation"; 45 | YMKPinAnnotationView * view = (YMKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:identifier]; 46 | if (view == nil) { 47 | view = [[YMKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier]; 48 | view.canShowCallout = YES; 49 | } 50 | 51 | [self configureAnnotationView:view forAnnotation:annotation]; 52 | 53 | return view; 54 | } 55 | 56 | - (YMKCalloutView *)mapView:(YMKMapView *)mapView calloutViewForAnnotation:(id)annotation { 57 | static NSString * identifier = @"pointCallout"; 58 | YMKDefaultCalloutView * callout = (YMKDefaultCalloutView *)[mapView dequeueReusableCalloutViewWithIdentifier:identifier]; 59 | if (callout == nil) { 60 | callout = [[YMKDefaultCalloutView alloc] initWithReuseIdentifier:identifier]; 61 | } 62 | callout.annotation = annotation; 63 | UIButton * rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 64 | callout.rightView = rightButton; 65 | return callout; 66 | } 67 | 68 | - (void)mapView:(YMKMapView *)mapView annotationView:(YMKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control { 69 | [self showDetailForAnnotation:view.annotation]; 70 | } 71 | 72 | - (void)mapView:(YMKMapView *)mapView annotationViewCalloutTapped:(YMKAnnotationView *)view { 73 | [self showDetailForAnnotation:view.annotation]; 74 | } 75 | 76 | #pragma mark - Helpers 77 | 78 | - (void)configureMapView { 79 | self.mapView.showsUserLocation = NO; 80 | self.mapView.showTraffic = NO; 81 | [self.mapView setCenterCoordinate:YMKMapCoordinateMake(55.757172, 37.55347) 82 | atZoomLevel:13 83 | animated:NO]; 84 | } 85 | 86 | - (void)configureAndInstallAnnotations { 87 | self.metroAnnotation = [PointAnnotation pointAnnotation]; 88 | self.metroAnnotation.coordinate = YMKMapCoordinateMake(55.764231, 37.561723); 89 | self.metroAnnotation.title = @"Метро 1905 года"; 90 | self.metroAnnotation.subtitle = @"Последний вагон из центра"; 91 | 92 | [self.mapView addAnnotation:self.metroAnnotation]; 93 | self.mapView.selectedAnnotation = self.metroAnnotation; 94 | 95 | self.yacAnnotation = [PointAnnotation pointAnnotation]; 96 | self.yacAnnotation.coordinate = YMKMapCoordinateMake(55.749475, 37.543084); 97 | self.yacAnnotation.title = @"YaC 2011"; 98 | 99 | [self.mapView addAnnotation:self.yacAnnotation]; 100 | } 101 | 102 | - (void)configureAnnotationView:(YMKPinAnnotationView *)view forAnnotation:(id)annotation { 103 | if (annotation == self.metroAnnotation) { 104 | view.pinColor = YMKPinAnnotationColorBlue; 105 | } 106 | else if (annotation == self.yacAnnotation) { 107 | view.pinColor = YMKPinAnnotationColorGreen; 108 | } 109 | } 110 | 111 | - (void)showDetailForAnnotation:(id)annotation { 112 | AnnotationDetailViewController * detailViewController = [[AnnotationDetailViewController alloc] init]; 113 | detailViewController.annotation = annotation; 114 | [self.navigationController pushViewController:detailViewController animated:YES]; 115 | } 116 | 117 | @end 118 | -------------------------------------------------------------------------------- /YandexMapKitSample/MapLayersViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * MapLayersViewController.h 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "MapLayersViewController.h" 13 | #import "YMKConfiguration.h" 14 | 15 | @interface MapLayersViewController () 16 | 17 | @property (nonatomic, strong) NSMutableArray *layers; 18 | 19 | @end 20 | 21 | 22 | @implementation MapLayersViewController 23 | 24 | #pragma mark - View lifecycle 25 | 26 | - (void)viewDidLoad { 27 | [super viewDidLoad]; 28 | 29 | [self subscribeForMapLayerUpdates]; 30 | [self configureMapView]; 31 | [self handleMapLayersChange]; 32 | } 33 | 34 | - (void)viewWillAppear:(BOOL)animated { 35 | [super viewWillAppear:animated]; 36 | [self.navigationController setToolbarHidden:NO animated:animated]; 37 | } 38 | 39 | - (void)viewWillDisappear:(BOOL)animated { 40 | [super viewWillDisappear:animated]; 41 | [self.navigationController setToolbarHidden:YES animated:animated]; 42 | } 43 | 44 | - (void)viewDidUnload { 45 | [self unsubscribeFromLayerUpdates]; 46 | 47 | [super viewDidUnload]; 48 | } 49 | 50 | #pragma mark - Helpers 51 | 52 | - (void)configureMapView { 53 | self.mapView.showsUserLocation = NO; 54 | self.mapView.showTraffic = NO; 55 | [self.mapView setCenterCoordinate:YMKMapCoordinateMake(55.753699, 37.619001) 56 | atZoomLevel:11 57 | animated:NO]; 58 | } 59 | 60 | #pragma mark - Layers Notifications 61 | 62 | - (void)handleMapLayersChange 63 | { 64 | [self populateVisibleLayerInfoArray]; 65 | [self configureVisibleLayerSegmentedControl]; 66 | } 67 | 68 | - (void)populateVisibleLayerInfoArray 69 | { 70 | NSArray *layerInfos = [YMKConfiguration sharedInstance].mapLayers.infos; 71 | self.layers = [NSMutableArray arrayWithCapacity:[layerInfos count]]; 72 | 73 | for (YMKMapLayerInfo *layerInfo in layerInfos) { 74 | if (layerInfo.auxiliary == NO) { 75 | [self.layers addObject:layerInfo]; 76 | } 77 | } 78 | } 79 | 80 | - (UISegmentedControl *)visibleLayerSegmentedControl 81 | { 82 | UISegmentedControl * segmentedControl = [[UISegmentedControl alloc] initWithItems:[self visibleLayerTitles]]; 83 | segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 84 | segmentedControl.selectedSegmentIndex = (self.mapView.visibleLayerIdentifier - 1); 85 | [segmentedControl addTarget:self action:@selector(layerChange:) forControlEvents:UIControlEventValueChanged]; 86 | 87 | return segmentedControl; 88 | } 89 | 90 | - (NSArray *)visibleLayerTitles 91 | { 92 | NSMutableArray *result = [NSMutableArray arrayWithCapacity:[self.layers count]]; 93 | for (YMKMapLayerInfo *layerInfo in self.layers) { 94 | [result addObject:layerInfo.localizedName]; 95 | } 96 | 97 | return result; 98 | } 99 | 100 | - (void)configureVisibleLayerSegmentedControl 101 | { 102 | UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithCustomView:[self visibleLayerSegmentedControl]]; 103 | 104 | UIBarButtonItem * flexibleItemLeft = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 105 | target:nil 106 | action:NULL]; 107 | UIBarButtonItem * flexibleItemRight = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 108 | target:nil 109 | action:NULL]; 110 | 111 | self.toolbarItems = @[ flexibleItemLeft, item, flexibleItemRight ]; 112 | 113 | } 114 | 115 | - (void)layerChange:(UISegmentedControl *)sender { 116 | NSInteger index = sender.selectedSegmentIndex; 117 | YMKMapLayerInfo *layerInfo = self.layers[index]; 118 | self.mapView.visibleLayerIdentifier = layerInfo.identifier; 119 | } 120 | 121 | - (void)subscribeForMapLayerUpdates { 122 | [[YMKConfiguration sharedInstance] addObserver:self forKeyPath:@"mapLayers" options:0 context:NULL]; 123 | } 124 | 125 | - (void)unsubscribeFromLayerUpdates { 126 | [[YMKConfiguration sharedInstance] removeObserver:self forKeyPath:@"mapLayers"]; 127 | } 128 | 129 | - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { 130 | if ([keyPath isEqualToString:@"mapLayers"]) { 131 | [self handleMapLayersChange]; 132 | } 133 | else { 134 | [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; 135 | } 136 | } 137 | 138 | - (void)dealloc { 139 | [self unsubscribeFromLayerUpdates]; 140 | } 141 | 142 | @end 143 | -------------------------------------------------------------------------------- /YandexMapKitSample/OnScreenButtonsViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | * OnScreenButtonsViewController.m 3 | * 4 | * This file is a part of the Yandex Map Kit. 5 | * 6 | * Version for iOS © 2011-2013 YANDEX 7 | * 8 | * You may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at http://legal.yandex.ru/mapkit/ 10 | */ 11 | 12 | #import "OnScreenButtonsViewController.h" 13 | 14 | @interface OnScreenButtonsViewController () 15 | 16 | - (IBAction)zoomPlusButtonTapped:(id)sender; 17 | - (IBAction)zoomMinusButtonTapped:(id)sender; 18 | - (IBAction)locateMeButtonTapped:(id)sender; 19 | 20 | @property (nonatomic, strong) IBOutlet YMKLocationFetcher *locationFetcher; 21 | @property (nonatomic, strong) IBOutlet UIActivityIndicatorView *activityIndicator; 22 | @property (nonatomic, strong) IBOutlet UIButton *locateMeButton; 23 | 24 | @end 25 | 26 | 27 | @implementation OnScreenButtonsViewController 28 | 29 | #pragma mark - View lifecycle 30 | 31 | - (NSString *)nibName { 32 | return @"OnScreenButtonsViewController"; 33 | } 34 | 35 | - (void)viewDidLoad 36 | { 37 | [super viewDidLoad]; 38 | [self updateFetchingLocationUI]; 39 | [self startMonitoringLocationFetching]; 40 | } 41 | 42 | - (void)viewWillAppear:(BOOL)animated 43 | { 44 | self.mapView.showsUserLocation = YES; 45 | } 46 | 47 | - (void)viewWillDisappear:(BOOL)animated 48 | { 49 | self.mapView.showsUserLocation = NO; 50 | } 51 | 52 | - (void)configureAndInstallMapView 53 | { 54 | } 55 | 56 | #pragma mark - IBActions 57 | 58 | - (IBAction)zoomPlusButtonTapped:(id)sender { 59 | [self.mapView zoomIn]; 60 | } 61 | 62 | - (IBAction)zoomMinusButtonTapped:(id)sender { 63 | [self.mapView zoomOut]; 64 | } 65 | 66 | - (IBAction)locateMeButtonTapped:(id)sender { 67 | [self.locationFetcher acquireUserLocationFromMapView]; 68 | } 69 | 70 | #pragma mark - Monitoring Location Fetching 71 | 72 | - (void)startMonitoringLocationFetching 73 | { 74 | [self.locationFetcher addObserver:self forKeyPath:@"fetchingLocation" options:0 context:NULL]; 75 | } 76 | 77 | - (void)stopMonitoringLocationFetching 78 | { 79 | [self.locationFetcher removeObserver:self forKeyPath:@"fetchingLocation"]; 80 | } 81 | 82 | - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context 83 | { 84 | if ((object == self.locationFetcher) && [keyPath isEqualToString:@"fetchingLocation"]) { 85 | [self updateFetchingLocationUI]; 86 | } 87 | else { 88 | [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; 89 | } 90 | } 91 | 92 | #pragma mark - Handle Fetched Location 93 | 94 | - (void)setupActivityIndicatorVisible:(BOOL)activityShouldBeVisible 95 | { 96 | if (activityShouldBeVisible) { 97 | self.activityIndicator.hidden = NO; 98 | [self.locateMeButton addSubview:self.activityIndicator]; 99 | self.activityIndicator.frame = CGRectMake(floorf((CGRectGetWidth(self.locateMeButton.bounds) - CGRectGetWidth(self.activityIndicator.bounds)) / 2.0f), 100 | floorf((CGRectGetHeight(self.locateMeButton.bounds) - CGRectGetHeight(self.activityIndicator.bounds)) / 2.0f), 101 | CGRectGetWidth(self.activityIndicator.bounds), 102 | CGRectGetHeight(self.activityIndicator.bounds)); 103 | } 104 | else { 105 | self.activityIndicator.hidden = YES; 106 | [self.activityIndicator removeFromSuperview]; 107 | } 108 | } 109 | 110 | - (void)setupLocateMeButtonForFetchingStatus:(BOOL)isFetchingLocation 111 | { 112 | if (isFetchingLocation) { 113 | [self.locateMeButton setImage:nil forState:UIControlStateNormal]; 114 | [self.locateMeButton setImage:nil forState:UIControlStateHighlighted]; 115 | } 116 | else { 117 | [self.locateMeButton setImage:[UIImage imageNamed:@"LocateMe.png"] 118 | forState:UIControlStateNormal]; 119 | [self.locateMeButton setImage:[UIImage imageNamed:@"LocateMeHighlighted.png"] 120 | forState:UIControlStateHighlighted]; 121 | } 122 | } 123 | 124 | - (void)updateFetchingLocationUI 125 | { 126 | [self setupActivityIndicatorVisible:self.locationFetcher.fetchingLocation]; 127 | [self setupLocateMeButtonForFetchingStatus:self.locationFetcher.fetchingLocation]; 128 | } 129 | 130 | #pragma mark - YMKLocationFetcherDelegate 131 | 132 | - (void)locationFetcherDidFetchUserLocation:(YMKLocationFetcher *)locationFetcher 133 | { 134 | [self updateFetchingLocationUI]; 135 | [self scrollToUserLocation]; 136 | } 137 | 138 | - (void)scrollToUserLocation 139 | { 140 | CLLocation *userLocation = self.mapView.userLocation.location; 141 | [self.mapView setCenterCoordinate:userLocation.coordinate animated:YES]; 142 | } 143 | 144 | - (void)locationFetcher:(YMKLocationFetcher *)locationFetcher didFailWithError:(NSError *)error 145 | { 146 | [self updateFetchingLocationUI]; 147 | [self notifyUserWithLocationFetchingError:error]; 148 | } 149 | 150 | - (void)notifyUserWithLocationFetchingError:(NSError *)error 151 | { 152 | UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Unable To Fetch User Location", @"Alert title") 153 | message:[error localizedDescription] 154 | delegate:nil 155 | cancelButtonTitle:NSLocalizedString(@"Dismiss", @"Dismiss alert button title") 156 | otherButtonTitles:nil]; 157 | [alert show]; 158 | } 159 | 160 | - (void)dealloc 161 | { 162 | [self stopMonitoringLocationFetching]; 163 | } 164 | 165 | @end 166 | -------------------------------------------------------------------------------- /YandexMapKitSample/RootViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1280 5 | 13A510d 6 | 4471.1 7 | 1242.11 8 | 683.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 3697.3 12 | 13 | 14 | IBProxyObject 15 | IBUITableView 16 | 17 | 18 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 19 | 20 | 21 | PluginDependencyRecalculationVersion 22 | 23 | 24 | 25 | 26 | IBFilesOwner 27 | IBCocoaTouchFramework 28 | 29 | 30 | IBFirstResponder 31 | IBCocoaTouchFramework 32 | 33 | 34 | 35 | 1298 36 | 37 | {{0, 64}, {320, 416}} 38 | 39 | 40 | 41 | 3 42 | MQA 43 | 44 | NO 45 | YES 46 | NO 47 | 48 | 49 | NO 50 | 51 | IBCocoaTouchFramework 52 | NO 53 | 1 54 | 0 55 | YES 56 | 44 57 | 22 58 | 22 59 | 60 | 61 | 62 | NO 63 | 64 | 65 | 66 | view 67 | 68 | 69 | 70 | 5 71 | 72 | 73 | 74 | dataSource 75 | 76 | 77 | 78 | 6 79 | 80 | 81 | 82 | delegate 83 | 84 | 85 | 86 | 7 87 | 88 | 89 | 90 | 91 | 92 | 0 93 | 94 | 95 | 96 | 97 | 98 | -1 99 | 100 | 101 | File's Owner 102 | 103 | 104 | -2 105 | 106 | 107 | 108 | 109 | 4 110 | 111 | 112 | 113 | 114 | 115 | 116 | RootViewController 117 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 118 | 119 | UIResponder 120 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 121 | 122 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 0 133 | IBCocoaTouchFramework 134 | 135 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 136 | 137 | 138 | 139 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 140 | 141 | 142 | YES 143 | 3 144 | 3697.3 145 | 146 | 147 | -------------------------------------------------------------------------------- /YandexMapKitSample/CalloutView.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1536 5 | 12C3012 6 | 3080 7 | 1187.34 8 | 625.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 2078 12 | 13 | 14 | YES 15 | IBProxyObject 16 | IBUILabel 17 | IBUIView 18 | 19 | 20 | YES 21 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 22 | 23 | 24 | PluginDependencyRecalculationVersion 25 | 26 | 27 | 28 | YES 29 | 30 | IBFilesOwner 31 | IBCocoaTouchFramework 32 | 33 | 34 | IBFirstResponder 35 | IBCocoaTouchFramework 36 | 37 | 38 | 39 | 256 40 | 41 | YES 42 | 43 | 44 | 290 45 | {{0, 6}, {215, 42}} 46 | 47 | 48 | 49 | NO 50 | YES 51 | 7 52 | NO 53 | IBCocoaTouchFramework 54 | Заголовок о-о-очень длинный 55 | 56 | 1 57 | MCAwIDAAA 58 | darkTextColor 59 | 60 | 61 | 1 62 | 18 63 | 2 64 | 65 | Helvetica-Bold 66 | Helvetica 67 | 2 68 | 18 69 | 70 | 71 | Helvetica-Bold 72 | 18 73 | 16 74 | 75 | 215 76 | 77 | 78 | 79 | 290 80 | {{0, 46}, {215, 40}} 81 | 82 | 83 | NO 84 | YES 85 | 7 86 | NO 87 | IBCocoaTouchFramework 88 | Подзаголовок, который тоже очень длинный. Две строки! 89 | 90 | 91 | 1 92 | 14 93 | 2 94 | 95 | Helvetica 96 | Helvetica 97 | 0 98 | 14 99 | 100 | 101 | Helvetica 102 | 14 103 | 16 104 | 105 | 215 106 | 107 | 108 | {215, 89} 109 | 110 | 111 | 112 | 113 | 3 114 | MCAwAA 115 | 116 | IBCocoaTouchFramework 117 | 118 | 119 | 120 | 121 | YES 122 | 123 | 124 | 125 | YES 126 | 127 | 0 128 | 129 | YES 130 | 131 | 132 | 133 | 134 | 135 | 1 136 | 137 | 138 | YES 139 | 140 | 141 | 142 | 143 | 144 | 145 | -1 146 | 147 | 148 | File's Owner 149 | 150 | 151 | -2 152 | 153 | 154 | 155 | 156 | 3 157 | 158 | 159 | 160 | 161 | 4 162 | 163 | 164 | 165 | 166 | 167 | 168 | YES 169 | 170 | YES 171 | -1.IBPluginDependency 172 | -2.CustomClassName 173 | -2.IBPluginDependency 174 | 1.CustomClassName 175 | 1.IBPluginDependency 176 | 3.IBPluginDependency 177 | 4.IBPluginDependency 178 | 179 | 180 | YES 181 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 182 | UIResponder 183 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 184 | CalloutView 185 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 186 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 187 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 188 | 189 | 190 | 191 | YES 192 | 193 | 194 | 195 | 196 | 197 | YES 198 | 199 | 200 | 201 | 202 | 15 203 | 204 | 205 | 206 | YES 207 | 208 | CalloutView 209 | UIView 210 | 211 | IBProjectSource 212 | ./Classes/CalloutView.h 213 | 214 | 215 | 216 | 217 | 0 218 | IBCocoaTouchFramework 219 | 220 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 221 | 222 | 223 | YES 224 | 3 225 | 2078 226 | 227 | 228 | -------------------------------------------------------------------------------- /YandexMapKitSample/MapViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1056 5 | 11B26 6 | 1617 7 | 1138 8 | 566.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 534 12 | 13 | 14 | YES 15 | IBProxyObject 16 | IBUIView 17 | 18 | 19 | YES 20 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 21 | 22 | 23 | YES 24 | 25 | YES 26 | 27 | 28 | 29 | 30 | YES 31 | 32 | IBFilesOwner 33 | IBCocoaTouchFramework 34 | 35 | 36 | IBFirstResponder 37 | IBCocoaTouchFramework 38 | 39 | 40 | 41 | 274 42 | 43 | YES 44 | 45 | 46 | 274 47 | {320, 416} 48 | 49 | 50 | 51 | _NS:180 52 | 53 | 3 54 | MQA 55 | 56 | 2 57 | 58 | 59 | IBCocoaTouchFramework 60 | 61 | 62 | {{0, 64}, {320, 416}} 63 | 64 | 65 | 66 | 67 | 3 68 | MQA 69 | 70 | 71 | 72 | 73 | NO 74 | 75 | IBCocoaTouchFramework 76 | 77 | 78 | 79 | 80 | YES 81 | 82 | 83 | view 84 | 85 | 86 | 87 | 3 88 | 89 | 90 | 91 | mapView 92 | 93 | 94 | 95 | 5 96 | 97 | 98 | 99 | delegate 100 | 101 | 102 | 103 | 6 104 | 105 | 106 | 107 | 108 | YES 109 | 110 | 0 111 | 112 | 113 | 114 | 115 | 116 | 1 117 | 118 | 119 | YES 120 | 121 | 122 | 123 | 124 | 125 | -1 126 | 127 | 128 | File's Owner 129 | 130 | 131 | -2 132 | 133 | 134 | 135 | 136 | 4 137 | 138 | 139 | Map View 140 | 141 | 142 | 143 | 144 | YES 145 | 146 | YES 147 | -1.CustomClassName 148 | -1.IBPluginDependency 149 | -2.CustomClassName 150 | -2.IBPluginDependency 151 | 1.IBPluginDependency 152 | 4.CustomClassName 153 | 4.IBPluginDependency 154 | 155 | 156 | YES 157 | MapViewController 158 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 159 | UIResponder 160 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 161 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 162 | YMKMapView 163 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 164 | 165 | 166 | 167 | YES 168 | 169 | 170 | 171 | 172 | 173 | YES 174 | 175 | 176 | 177 | 178 | 6 179 | 180 | 181 | 182 | YES 183 | 184 | MapViewController 185 | UIViewController 186 | 187 | mapView 188 | YMKMapView 189 | 190 | 191 | mapView 192 | 193 | mapView 194 | YMKMapView 195 | 196 | 197 | 198 | IBProjectSource 199 | ./Classes/MapViewController.h 200 | 201 | 202 | 203 | YMKMapView 204 | UIView 205 | 206 | delegate 207 | id 208 | 209 | 210 | delegate 211 | 212 | delegate 213 | id 214 | 215 | 216 | 217 | IBProjectSource 218 | ./Classes/YMKMapView.h 219 | 220 | 221 | 222 | 223 | 0 224 | IBCocoaTouchFramework 225 | 226 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 227 | 228 | 229 | YES 230 | 3 231 | 534 232 | 233 | 234 | -------------------------------------------------------------------------------- /YandexMapKitSample/SettingsViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1280 5 | 13A510d 6 | 4471.1 7 | 1242.11 8 | 683.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 3697.3 12 | 13 | 14 | IBProxyObject 15 | IBUIBarButtonItem 16 | IBUITextField 17 | IBUIView 18 | 19 | 20 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 21 | 22 | 23 | PluginDependencyRecalculationVersion 24 | 25 | 26 | 27 | 28 | IBFilesOwner 29 | IBCocoaTouchFramework 30 | 31 | 32 | IBFirstResponder 33 | IBCocoaTouchFramework 34 | 35 | 36 | 37 | 1298 38 | 39 | 40 | 41 | 1314 42 | 43 | {{20, 120}, {280, 30}} 44 | 45 | 46 | NO 47 | YES 48 | IBCocoaTouchFramework 49 | 0 50 | 51 | 3 52 | Your API key 53 | 54 | 3 55 | MAA 56 | 57 | YES 58 | 17 59 | 60 | IBCocoaTouchFramework 61 | 62 | 63 | 1 64 | 14 65 | 66 | 67 | HelveticaNeue 68 | 14 69 | 16 70 | 71 | 72 | 73 | 74 | {{0, 20}, {320, 460}} 75 | 76 | 77 | 78 | 3 79 | MC42NjY2NjY2NjY3AA 80 | 81 | 82 | IBCocoaTouchFramework 83 | 84 | 85 | IBCocoaTouchFramework 86 | 1 87 | 1 88 | 89 | 90 | IBCocoaTouchFramework 91 | 2 92 | 3 93 | 94 | 95 | 96 | NO 97 | 98 | 99 | 100 | cancelButton 101 | 102 | 103 | 104 | 2By-q9-ok6 105 | 106 | 107 | 108 | keyTextField 109 | 110 | 111 | 112 | Vhm-bg-kNU 113 | 114 | 115 | 116 | saveButton 117 | 118 | 119 | 120 | DKY-CX-1Us 121 | 122 | 123 | 124 | view 125 | 126 | 127 | 128 | 2bu-rM-FaL 129 | 130 | 131 | 132 | cancelButtonTapped: 133 | 134 | 135 | 136 | 16 137 | 138 | 139 | 140 | saveButtonTapped: 141 | 142 | 143 | 144 | 14 145 | 146 | 147 | 148 | 149 | 150 | 0 151 | 152 | 153 | 154 | 155 | 156 | -1 157 | 158 | 159 | File's Owner 160 | 161 | 162 | -2 163 | 164 | 165 | 166 | 167 | 1 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | Xyd-Km-pB6 176 | 177 | 178 | 179 | 180 | 6 181 | 182 | 183 | 184 | 185 | 7 186 | 187 | 188 | 189 | 190 | 191 | 192 | SettingsViewController 193 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 194 | 195 | UIResponder 196 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 197 | 198 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 199 | 200 | 201 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 202 | 203 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 204 | 205 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 0 216 | IBCocoaTouchFramework 217 | 218 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 219 | 220 | 221 | 222 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 223 | 224 | 225 | YES 226 | 3 227 | 3697.3 228 | 229 | 230 | -------------------------------------------------------------------------------- /YandexMapKitSample/AnnotationDetailViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1056 5 | 11B26 6 | 1617 7 | 1138 8 | 566.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 534 12 | 13 | 14 | YES 15 | IBProxyObject 16 | IBUILabel 17 | IBUIView 18 | 19 | 20 | YES 21 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 22 | 23 | 24 | YES 25 | 26 | YES 27 | 28 | 29 | 30 | 31 | YES 32 | 33 | IBFilesOwner 34 | IBCocoaTouchFramework 35 | 36 | 37 | IBFirstResponder 38 | IBCocoaTouchFramework 39 | 40 | 41 | 42 | 274 43 | 44 | YES 45 | 46 | 47 | 292 48 | {{20, 20}, {280, 21}} 49 | 50 | 51 | _NS:311 52 | NO 53 | YES 54 | 7 55 | NO 56 | IBCocoaTouchFramework 57 | Label 58 | 59 | 1 60 | MCAwIDAAA 61 | 62 | 63 | 1 64 | 10 65 | 66 | 67 | 68 | 292 69 | {{20, 49}, {280, 21}} 70 | 71 | 72 | _NS:311 73 | NO 74 | YES 75 | 7 76 | NO 77 | IBCocoaTouchFramework 78 | Label 79 | 80 | 81 | 1 82 | 10 83 | 84 | 85 | 86 | 292 87 | {{20, 78}, {280, 21}} 88 | 89 | 90 | _NS:311 91 | NO 92 | YES 93 | 7 94 | NO 95 | IBCocoaTouchFramework 96 | Label 97 | 98 | 99 | 1 100 | 10 101 | 102 | 103 | {{0, 64}, {320, 416}} 104 | 105 | 106 | 107 | 3 108 | MQA 109 | 110 | 2 111 | 112 | 113 | 114 | 115 | NO 116 | 117 | IBCocoaTouchFramework 118 | 119 | 120 | 121 | 122 | YES 123 | 124 | 125 | view 126 | 127 | 128 | 129 | 3 130 | 131 | 132 | 133 | titleLabel 134 | 135 | 136 | 137 | 7 138 | 139 | 140 | 141 | subtitleLabel 142 | 143 | 144 | 145 | 8 146 | 147 | 148 | 149 | coordinateLabel 150 | 151 | 152 | 153 | 9 154 | 155 | 156 | 157 | 158 | YES 159 | 160 | 0 161 | 162 | 163 | 164 | 165 | 166 | 1 167 | 168 | 169 | YES 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | -1 178 | 179 | 180 | File's Owner 181 | 182 | 183 | -2 184 | 185 | 186 | 187 | 188 | 4 189 | 190 | 191 | 192 | 193 | 5 194 | 195 | 196 | 197 | 198 | 6 199 | 200 | 201 | 202 | 203 | 204 | 205 | YES 206 | 207 | YES 208 | -1.CustomClassName 209 | -1.IBPluginDependency 210 | -2.CustomClassName 211 | -2.IBPluginDependency 212 | 1.IBPluginDependency 213 | 4.IBPluginDependency 214 | 5.IBPluginDependency 215 | 6.IBPluginDependency 216 | 217 | 218 | YES 219 | AnnotationDetailViewController 220 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 221 | UIResponder 222 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 223 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 224 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 225 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 226 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 227 | 228 | 229 | 230 | YES 231 | 232 | 233 | 234 | 235 | 236 | YES 237 | 238 | 239 | 240 | 241 | 9 242 | 243 | 244 | 245 | YES 246 | 247 | AnnotationDetailViewController 248 | UIViewController 249 | 250 | YES 251 | 252 | YES 253 | coordinateLabel 254 | subtitleLabel 255 | titleLabel 256 | 257 | 258 | YES 259 | UILabel 260 | UILabel 261 | UILabel 262 | 263 | 264 | 265 | YES 266 | 267 | YES 268 | coordinateLabel 269 | subtitleLabel 270 | titleLabel 271 | 272 | 273 | YES 274 | 275 | coordinateLabel 276 | UILabel 277 | 278 | 279 | subtitleLabel 280 | UILabel 281 | 282 | 283 | titleLabel 284 | UILabel 285 | 286 | 287 | 288 | 289 | IBProjectSource 290 | ./Classes/AnnotationDetailViewController.h 291 | 292 | 293 | 294 | 295 | 0 296 | IBCocoaTouchFramework 297 | 298 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 299 | 300 | 301 | YES 302 | 3 303 | 534 304 | 305 | 306 | -------------------------------------------------------------------------------- /YandexMapKitSample/StaticMapExampleViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1296 5 | 12A269 6 | 2549 7 | 1187 8 | 624.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 1498 12 | 13 | 14 | IBProxyObject 15 | IBUIActivityIndicatorView 16 | IBUIImageView 17 | IBUILabel 18 | IBUIView 19 | 20 | 21 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 22 | 23 | 24 | PluginDependencyRecalculationVersion 25 | 26 | 27 | 28 | 29 | IBFilesOwner 30 | IBCocoaTouchFramework 31 | 32 | 33 | IBFirstResponder 34 | IBCocoaTouchFramework 35 | 36 | 37 | 38 | 274 39 | 40 | 41 | 42 | 274 43 | 44 | {{0, 208}, {320, 208}} 45 | 46 | 47 | 48 | _NS:196 49 | 50 | 3 51 | MQA 52 | 53 | 2 54 | 55 | 56 | IBCocoaTouchFramework 57 | 58 | 59 | 60 | 274 61 | {320, 208} 62 | 63 | 64 | 65 | _NS:9 66 | NO 67 | IBCocoaTouchFramework 68 | 69 | 70 | 71 | 292 72 | {{273, 8}, {37, 37}} 73 | 74 | 75 | 76 | _NS:9 77 | 78 | 3 79 | MC42NjY2NjY2NjY3AA 80 | 81 | NO 82 | IBCocoaTouchFramework 83 | NO 84 | 0 85 | 86 | 87 | 88 | 292 89 | {{10, 218}, {300, 21}} 90 | 91 | 92 | 93 | _NS:9 94 | 95 | 1 96 | MSAxIDAuNDAwMDAwMDA2AA 97 | 98 | NO 99 | YES 100 | 0.5 101 | 7 102 | NO 103 | IBCocoaTouchFramework 104 | Tap on the map, scroll and zoom map 105 | 106 | 1 107 | MCAwIDAAA 108 | 109 | 110 | 0 111 | 10 112 | 1 113 | 114 | 1 115 | 17 116 | 117 | 118 | Helvetica 119 | 17 120 | 16 121 | 122 | 123 | 124 | {{0, 64}, {320, 416}} 125 | 126 | 127 | 128 | 129 | 3 130 | MQA 131 | 132 | 133 | 134 | 135 | NO 136 | 137 | IBCocoaTouchFramework 138 | 139 | 140 | 141 | 142 | 143 | 144 | view 145 | 146 | 147 | 148 | 3 149 | 150 | 151 | 152 | mapView 153 | 154 | 155 | 156 | 5 157 | 158 | 159 | 160 | staticMap 161 | 162 | 163 | 164 | 31 165 | 166 | 167 | 168 | activityIndicator 169 | 170 | 171 | 172 | 32 173 | 174 | 175 | 176 | delegate 177 | 178 | 179 | 180 | 25 181 | 182 | 183 | 184 | 185 | 186 | 0 187 | 188 | 189 | 190 | 191 | 192 | 1 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | -1 204 | 205 | 206 | File's Owner 207 | 208 | 209 | -2 210 | 211 | 212 | 213 | 214 | 4 215 | 216 | 217 | 218 | 219 | 220 | 29 221 | 222 | 223 | 224 | 225 | 30 226 | 227 | 228 | 229 | 230 | 33 231 | 232 | 233 | 234 | 235 | 236 | 237 | StaticMapExampleViewController 238 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 239 | UIResponder 240 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 241 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 242 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 243 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 244 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 245 | YMKMapView 246 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 247 | 248 | 249 | 250 | 251 | 252 | 33 253 | 254 | 255 | 256 | 257 | MapViewController 258 | UIViewController 259 | 260 | mapView 261 | YMKMapView 262 | 263 | 264 | mapView 265 | 266 | mapView 267 | YMKMapView 268 | 269 | 270 | 271 | IBProjectSource 272 | ./Classes/MapViewController.h 273 | 274 | 275 | 276 | StaticMapExampleViewController 277 | MapViewController 278 | 279 | UIActivityIndicatorView 280 | UIImageView 281 | 282 | 283 | 284 | activityIndicator 285 | UIActivityIndicatorView 286 | 287 | 288 | staticMap 289 | UIImageView 290 | 291 | 292 | 293 | IBProjectSource 294 | ./Classes/StaticMapExampleViewController.h 295 | 296 | 297 | 298 | YMKMapView 299 | UIView 300 | 301 | delegate 302 | id 303 | 304 | 305 | delegate 306 | 307 | delegate 308 | id 309 | 310 | 311 | 312 | IBProjectSource 313 | ./Classes/YMKMapView.h 314 | 315 | 316 | 317 | 318 | 0 319 | IBCocoaTouchFramework 320 | 321 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 322 | 323 | 324 | YES 325 | 3 326 | 1498 327 | 328 | 329 | -------------------------------------------------------------------------------- /YandexMapKitSample/en.lproj/MainWindow.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1536 5 | 12B19 6 | 2829 7 | 1187 8 | 624.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 1914 12 | 13 | 14 | YES 15 | IBProxyObject 16 | IBUIBarButtonItem 17 | IBUICustomObject 18 | IBUINavigationBar 19 | IBUINavigationController 20 | IBUINavigationItem 21 | IBUIViewController 22 | IBUIWindow 23 | 24 | 25 | YES 26 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 27 | 28 | 29 | PluginDependencyRecalculationVersion 30 | 31 | 32 | 33 | YES 34 | 35 | IBFilesOwner 36 | IBCocoaTouchFramework 37 | 38 | 39 | IBFirstResponder 40 | IBCocoaTouchFramework 41 | 42 | 43 | IBCocoaTouchFramework 44 | 45 | 46 | 47 | 1316 48 | 49 | {320, 480} 50 | 51 | 3 52 | MAA 53 | 54 | NO 55 | NO 56 | 57 | IBCocoaTouchFramework 58 | YES 59 | 60 | 61 | 62 | 63 | 1 64 | 1 65 | 66 | IBCocoaTouchFramework 67 | NO 68 | 69 | 70 | 256 71 | {0, 0} 72 | NO 73 | YES 74 | YES 75 | IBCocoaTouchFramework 76 | 77 | 78 | YES 79 | 80 | 81 | 82 | Yandex Map Kit 83 | 84 | Настройка 85 | IBCocoaTouchFramework 86 | 1 87 | 88 | 89 | IBCocoaTouchFramework 90 | 91 | 92 | RootViewController 93 | 94 | 95 | 1 96 | 1 97 | 98 | IBCocoaTouchFramework 99 | NO 100 | 101 | 102 | 103 | 104 | 105 | 106 | YES 107 | 108 | 109 | delegate 110 | 111 | 112 | 113 | 4 114 | 115 | 116 | 117 | window 118 | 119 | 120 | 121 | 5 122 | 123 | 124 | 125 | navigationController 126 | 127 | 128 | 129 | 15 130 | 131 | 132 | 133 | settingsButtonTapped: 134 | 135 | 136 | 137 | 20 138 | 139 | 140 | 141 | 142 | YES 143 | 144 | 0 145 | 146 | YES 147 | 148 | 149 | 150 | 151 | 152 | 2 153 | 154 | 155 | YES 156 | 157 | 158 | 159 | 160 | -1 161 | 162 | 163 | File's Owner 164 | 165 | 166 | 3 167 | 168 | 169 | 170 | 171 | -2 172 | 173 | 174 | 175 | 176 | 9 177 | 178 | 179 | YES 180 | 181 | 182 | 183 | 184 | 185 | 186 | 11 187 | 188 | 189 | 190 | 191 | 13 192 | 193 | 194 | YES 195 | 196 | 197 | 198 | 199 | 200 | 14 201 | 202 | 203 | YES 204 | 205 | 206 | 207 | 208 | 209 | 18 210 | 211 | 212 | 213 | 214 | 215 | 216 | YES 217 | 218 | YES 219 | -1.CustomClassName 220 | -1.IBPluginDependency 221 | -2.CustomClassName 222 | -2.IBPluginDependency 223 | 11.IBPluginDependency 224 | 13.CustomClassName 225 | 13.IBPluginDependency 226 | 14.IBPluginDependency 227 | 18.IBPluginDependency 228 | 2.IBAttributePlaceholdersKey 229 | 2.IBPluginDependency 230 | 3.CustomClassName 231 | 3.IBPluginDependency 232 | 9.IBPluginDependency 233 | 234 | 235 | YES 236 | UIApplication 237 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 238 | UIResponder 239 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 240 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 241 | RootViewController 242 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 243 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 244 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 245 | 246 | YES 247 | 248 | 249 | 250 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 251 | YandexMapKitSampleAppDelegate 252 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 253 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 254 | 255 | 256 | 257 | YES 258 | 259 | 260 | 261 | 262 | 263 | YES 264 | 265 | 266 | 267 | 268 | 20 269 | 270 | 271 | 272 | YES 273 | 274 | RootViewController 275 | UITableViewController 276 | 277 | settingsButtonTapped: 278 | id 279 | 280 | 281 | settingsButtonTapped: 282 | 283 | settingsButtonTapped: 284 | id 285 | 286 | 287 | 288 | IBProjectSource 289 | ./Classes/RootViewController.h 290 | 291 | 292 | 293 | YandexMapKitSampleAppDelegate 294 | NSObject 295 | 296 | YES 297 | 298 | YES 299 | navigationController 300 | window 301 | 302 | 303 | YES 304 | UINavigationController 305 | UIWindow 306 | 307 | 308 | 309 | YES 310 | 311 | YES 312 | navigationController 313 | window 314 | 315 | 316 | YES 317 | 318 | navigationController 319 | UINavigationController 320 | 321 | 322 | window 323 | UIWindow 324 | 325 | 326 | 327 | 328 | IBProjectSource 329 | ./Classes/YandexMapKitSampleAppDelegate.h 330 | 331 | 332 | 333 | 334 | 0 335 | IBCocoaTouchFramework 336 | 337 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 338 | 339 | 340 | 341 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 342 | 343 | 344 | YES 345 | 3 346 | 1914 347 | 348 | 349 | -------------------------------------------------------------------------------- /YandexMapKitSample/VisibleRectExampleViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1296 5 | 11E53 6 | 2182 7 | 1138.47 8 | 569.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 1181 12 | 13 | 14 | IBUICustomObject 15 | IBUIButton 16 | IBUIView 17 | IBUILabel 18 | IBProxyObject 19 | 20 | 21 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 22 | 23 | 24 | PluginDependencyRecalculationVersion 25 | 26 | 27 | 28 | 29 | IBFilesOwner 30 | IBCocoaTouchFramework 31 | 32 | 33 | IBFirstResponder 34 | IBCocoaTouchFramework 35 | 36 | 37 | IBCocoaTouchFramework 38 | 39 | 40 | 41 | 274 42 | 43 | 44 | 45 | 274 46 | {320, 416} 47 | 48 | 49 | 50 | _NS:196 51 | 52 | 3 53 | MQA 54 | 55 | 2 56 | 57 | 58 | IBCocoaTouchFramework 59 | 60 | 61 | 62 | 292 63 | {{10, 330}, {300, 21}} 64 | 65 | 66 | 67 | _NS:9 68 | 69 | 1 70 | MSAxIDAuNDAwMDAwMDA2AA 71 | 72 | NO 73 | YES 74 | 0.5 75 | 7 76 | NO 77 | IBCocoaTouchFramework 78 | Tap the button or select the annotation 79 | 80 | 1 81 | MCAwIDAAA 82 | 83 | 84 | 0 85 | 10 86 | 87 | 1 88 | 17 89 | 90 | 91 | Helvetica 92 | 17 93 | 16 94 | 95 | 96 | 97 | 98 | 292 99 | {{265, 361}, {45, 45}} 100 | 101 | 102 | 103 | _NS:225 104 | NO 105 | IBCocoaTouchFramework 106 | 0 107 | 0 108 | 109 | 3 110 | MQA 111 | 112 | 113 | 1 114 | MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA 115 | 116 | 117 | 3 118 | MC41AA 119 | 120 | 121 | NSImage 122 | OnScreenButtonHighlighted.png 123 | 124 | 125 | NSImage 126 | OnScreenButton.png 127 | 128 | 129 | 2 130 | 15 131 | 132 | 133 | Helvetica-Bold 134 | 15 135 | 16 136 | 137 | 138 | 139 | 140 | 292 141 | 142 | 143 | 144 | 292 145 | {150, 20} 146 | 147 | 148 | 149 | _NS:9 150 | NO 151 | YES 152 | 7 153 | NO 154 | IBCocoaTouchFramework 155 | Visible rect area 156 | 157 | 158 | 0 159 | 10 160 | 1 161 | 162 | 163 | 164 | 165 | {{10, 10}, {150, 150}} 166 | 167 | 168 | 169 | _NS:9 170 | 171 | 6 172 | System 173 | selectedTextBackgroundColor 174 | 175 | 3 176 | MC42NjY2NjY2NjY3AA 177 | 178 | 179 | 0.5 180 | NO 181 | IBCocoaTouchFramework 182 | 183 | 184 | {{0, 64}, {320, 416}} 185 | 186 | 187 | 188 | 189 | 3 190 | MQA 191 | 192 | 193 | 194 | 195 | NO 196 | 197 | IBCocoaTouchFramework 198 | 199 | 200 | 201 | 202 | 203 | 204 | view 205 | 206 | 207 | 208 | 3 209 | 210 | 211 | 212 | mapView 213 | 214 | 215 | 216 | 5 217 | 218 | 219 | 220 | visibleRectView 221 | 222 | 223 | 224 | 26 225 | 226 | 227 | 228 | locateMeButton 229 | 230 | 231 | 232 | 21 233 | 234 | 235 | 236 | delegate 237 | 238 | 239 | 240 | 25 241 | 242 | 243 | 244 | locateMeButtonTapped: 245 | 246 | 247 | 7 248 | 249 | 22 250 | 251 | 252 | 253 | 254 | 255 | 0 256 | 257 | 258 | 259 | 260 | 261 | 1 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | -1 273 | 274 | 275 | File's Owner 276 | 277 | 278 | -2 279 | 280 | 281 | 282 | 283 | 15 284 | 285 | 286 | 287 | 288 | 4 289 | 290 | 291 | 292 | 293 | 294 | 24 295 | 296 | 297 | 298 | 299 | 300 | Visible rect 301 | 302 | 303 | 27 304 | 305 | 306 | 307 | 308 | 28 309 | 310 | 311 | 312 | 313 | 19 314 | 315 | 316 | 317 | 318 | 319 | 320 | VisibleRectExampleViewController 321 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 322 | UIResponder 323 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 324 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 325 | LocationFetcher 326 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 327 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 328 | 329 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 330 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 331 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 332 | YMKMapView 333 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 334 | 335 | 336 | 337 | 338 | 339 | 28 340 | 341 | 342 | 343 | 344 | LocationFetcher 345 | NSObject 346 | 347 | id 348 | YMKMapView 349 | 350 | 351 | 352 | delegate 353 | id 354 | 355 | 356 | mapView 357 | YMKMapView 358 | 359 | 360 | 361 | IBProjectSource 362 | ./Classes/LocationFetcher.h 363 | 364 | 365 | 366 | MapViewController 367 | UIViewController 368 | 369 | mapView 370 | YMKMapView 371 | 372 | 373 | mapView 374 | 375 | mapView 376 | YMKMapView 377 | 378 | 379 | 380 | IBProjectSource 381 | ./Classes/MapViewController.h 382 | 383 | 384 | 385 | VisibleRectExampleViewController 386 | MapViewController 387 | 388 | locateMeButtonTapped: 389 | id 390 | 391 | 392 | locateMeButtonTapped: 393 | 394 | locateMeButtonTapped: 395 | id 396 | 397 | 398 | 399 | UIButton 400 | UIView 401 | 402 | 403 | 404 | locateMeButton 405 | UIButton 406 | 407 | 408 | visibleRectView 409 | UIView 410 | 411 | 412 | 413 | IBProjectSource 414 | ./Classes/VisibleRectExampleViewController.h 415 | 416 | 417 | 418 | YMKMapView 419 | UIView 420 | 421 | delegate 422 | id 423 | 424 | 425 | delegate 426 | 427 | delegate 428 | id 429 | 430 | 431 | 432 | IBProjectSource 433 | ./Classes/YMKMapView.h 434 | 435 | 436 | 437 | 438 | 0 439 | IBCocoaTouchFramework 440 | 441 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 442 | 443 | 444 | YES 445 | 3 446 | 447 | {45, 45} 448 | {45, 45} 449 | 450 | 1181 451 | 452 | 453 | -------------------------------------------------------------------------------- /YandexMapKitSample/OnScreenButtonsViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1296 5 | 12B19 6 | 2549 7 | 1187 8 | 624.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 1498 12 | 13 | 14 | IBProxyObject 15 | IBUIActivityIndicatorView 16 | IBUIButton 17 | IBUICustomObject 18 | IBUIView 19 | 20 | 21 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 22 | 23 | 24 | PluginDependencyRecalculationVersion 25 | 26 | 27 | 28 | 29 | IBFilesOwner 30 | IBCocoaTouchFramework 31 | 32 | 33 | IBFirstResponder 34 | IBCocoaTouchFramework 35 | 36 | 37 | IBCocoaTouchFramework 38 | 39 | 40 | 41 | 292 42 | {20, 20} 43 | 44 | 45 | _NS:1030 46 | NO 47 | IBCocoaTouchFramework 48 | NO 49 | YES 50 | 2 51 | 52 | 53 | 54 | 274 55 | 56 | 57 | 58 | 274 59 | {320, 416} 60 | 61 | 62 | 63 | _NS:196 64 | 65 | 3 66 | MQA 67 | 68 | 2 69 | 70 | 71 | IBCocoaTouchFramework 72 | 73 | 74 | 75 | 292 76 | {{263, 142}, {45, 45}} 77 | 78 | 79 | 80 | _NS:225 81 | NO 82 | IBCocoaTouchFramework 83 | 0 84 | 0 85 | 86 | 3 87 | MQA 88 | 89 | 90 | 1 91 | MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA 92 | 93 | 94 | 3 95 | MC41AA 96 | 97 | 98 | NSImage 99 | ZoomPlusHighlighted.png 100 | 101 | 102 | NSImage 103 | ZoomPlus.png 104 | 105 | 106 | 2 107 | 15 108 | 109 | 110 | Helvetica-Bold 111 | 15 112 | 16 113 | 114 | 115 | 116 | 117 | 292 118 | {{263, 203}, {45, 45}} 119 | 120 | 121 | 122 | _NS:225 123 | NO 124 | IBCocoaTouchFramework 125 | 0 126 | 0 127 | 128 | 129 | 1 130 | MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA 131 | 132 | 133 | 134 | NSImage 135 | ZoomMinusHighlighted.png 136 | 137 | 138 | NSImage 139 | ZoomMinus.png 140 | 141 | 142 | 143 | 144 | 145 | 146 | 292 147 | {{263, 359}, {45, 45}} 148 | 149 | 150 | _NS:225 151 | NO 152 | IBCocoaTouchFramework 153 | 0 154 | 0 155 | 156 | 157 | 1 158 | MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA 159 | 160 | 161 | 162 | NSImage 163 | OnScreenButtonHighlighted.png 164 | 165 | 166 | NSImage 167 | OnScreenButton.png 168 | 169 | 170 | 171 | 172 | 173 | {{0, 64}, {320, 416}} 174 | 175 | 176 | 177 | 178 | 3 179 | MQA 180 | 181 | 182 | 183 | 184 | NO 185 | 186 | IBCocoaTouchFramework 187 | 188 | 189 | 190 | 191 | 192 | 193 | view 194 | 195 | 196 | 197 | 3 198 | 199 | 200 | 201 | locationFetcher 202 | 203 | 204 | 205 | 17 206 | 207 | 208 | 209 | locateMeButton 210 | 211 | 212 | 213 | 21 214 | 215 | 216 | 217 | mapView 218 | 219 | 220 | 221 | 5 222 | 223 | 224 | 225 | activityIndicator 226 | 227 | 228 | 229 | 14 230 | 231 | 232 | 233 | zoomPlusButtonTapped: 234 | 235 | 236 | 7 237 | 238 | 8 239 | 240 | 241 | 242 | zoomMinusButtonTapped: 243 | 244 | 245 | 7 246 | 247 | 9 248 | 249 | 250 | 251 | mapView 252 | 253 | 254 | 255 | 16 256 | 257 | 258 | 259 | delegate 260 | 261 | 262 | 263 | 23 264 | 265 | 266 | 267 | locateMeButtonTapped: 268 | 269 | 270 | 7 271 | 272 | 22 273 | 274 | 275 | 276 | 277 | 278 | 0 279 | 280 | 281 | 282 | 283 | 284 | 1 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | -1 296 | 297 | 298 | File's Owner 299 | 300 | 301 | -2 302 | 303 | 304 | 305 | 306 | 6 307 | 308 | 309 | 310 | 311 | 7 312 | 313 | 314 | 315 | 316 | 15 317 | 318 | 319 | 320 | 321 | 19 322 | 323 | 324 | 325 | 326 | 4 327 | 328 | 329 | 330 | 331 | 13 332 | 333 | 334 | 335 | 336 | 337 | 338 | OnScreenButtonsViewController 339 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 340 | UIResponder 341 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 342 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 343 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 344 | YMKLocationFetcher 345 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 346 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 347 | 348 | YMKMapView 349 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 350 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 351 | 352 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 353 | 354 | 355 | 356 | 357 | 358 | 359 | 23 360 | 361 | 362 | 363 | 364 | MapViewController 365 | UIViewController 366 | 367 | mapView 368 | YMKMapView 369 | 370 | 371 | mapView 372 | 373 | mapView 374 | YMKMapView 375 | 376 | 377 | 378 | IBProjectSource 379 | ./Classes/MapViewController.h 380 | 381 | 382 | 383 | OnScreenButtonsViewController 384 | MapViewController 385 | 386 | id 387 | id 388 | id 389 | 390 | 391 | 392 | locateMeButtonTapped: 393 | id 394 | 395 | 396 | zoomMinusButtonTapped: 397 | id 398 | 399 | 400 | zoomPlusButtonTapped: 401 | id 402 | 403 | 404 | 405 | UIActivityIndicatorView 406 | UIButton 407 | YMKLocationFetcher 408 | 409 | 410 | 411 | activityIndicator 412 | UIActivityIndicatorView 413 | 414 | 415 | locateMeButton 416 | UIButton 417 | 418 | 419 | locationFetcher 420 | YMKLocationFetcher 421 | 422 | 423 | 424 | IBProjectSource 425 | ./Classes/OnScreenButtonsViewController.h 426 | 427 | 428 | 429 | YMKLocationFetcher 430 | NSObject 431 | 432 | id 433 | YMKMapView 434 | 435 | 436 | 437 | delegate 438 | id 439 | 440 | 441 | mapView 442 | YMKMapView 443 | 444 | 445 | 446 | IBProjectSource 447 | ./Classes/YMKLocationFetcher.h 448 | 449 | 450 | 451 | YMKMapView 452 | UIView 453 | 454 | delegate 455 | id 456 | 457 | 458 | delegate 459 | 460 | delegate 461 | id 462 | 463 | 464 | 465 | IBProjectSource 466 | ./Classes/YMKMapView.h 467 | 468 | 469 | 470 | 471 | 0 472 | IBCocoaTouchFramework 473 | 474 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 475 | 476 | 477 | YES 478 | 3 479 | 480 | {45, 45} 481 | {45, 45} 482 | {45, 45} 483 | {45, 45} 484 | {45, 45} 485 | {45, 45} 486 | 487 | 1498 488 | 489 | 490 | --------------------------------------------------------------------------------