├── .DS_Store ├── ScreenShots ├── img1.png ├── img2.png ├── img3.png ├── img4.png ├── img5.png ├── img1-thumb.png ├── img2-thumb.png ├── img3-thumb.png ├── img4-thumb.png └── img5-thumb.png ├── Examples ├── LPSpeakService │ ├── LPSpeakService │ │ ├── en.lproj │ │ │ └── InfoPlist.strings │ │ ├── Application │ │ │ ├── LPAppDelegate.h │ │ │ └── LPAppDelegate.m │ │ ├── main.m │ │ ├── LPSpeakService-Prefix.pch │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── LaunchImage.launchimage │ │ │ │ └── Contents.json │ │ ├── Classes │ │ │ ├── LPMainViewController.h │ │ │ └── LPMainViewController.m │ │ └── LPSpeakService-Info.plist │ └── LPSpeakService.xcodeproj │ │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcuserdata │ │ │ ├── alten.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ ├── nelson.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── LukaPenger.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcshareddata │ │ │ └── LPSpeakService.xccheckout │ │ └── xcuserdata │ │ ├── nelson.xcuserdatad │ │ └── xcschemes │ │ │ ├── xcschememanagement.plist │ │ │ └── LPSpeakService.xcscheme │ │ ├── alten.xcuserdatad │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── LukaPenger.xcuserdatad │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ └── LPSpeakService.xcscheme ├── LPDistanceMatrixService │ ├── LPDistanceMatrixService │ │ ├── en.lproj │ │ │ └── InfoPlist.strings │ │ ├── Application │ │ │ ├── LPAppDelegate.h │ │ │ └── LPAppDelegate.m │ │ ├── main.m │ │ ├── LPDistanceMatrixService-Prefix.pch │ │ ├── Classes │ │ │ └── LPMainViewController.h │ │ ├── Images.xcassets │ │ │ ├── LaunchImage.launchimage │ │ │ │ └── Contents.json │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── LPDistanceMatrixService-Info.plist │ │ └── Views │ │ │ └── LPMainViewController.xib │ └── LPDistanceMatrixService.xcodeproj │ │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcuserdata │ │ │ ├── nelson.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── LukaPenger.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcshareddata │ │ │ └── LPDistanceMatrixService.xccheckout │ │ └── xcuserdata │ │ ├── nelson.xcuserdatad │ │ └── xcschemes │ │ │ ├── xcschememanagement.plist │ │ │ └── LPDistanceMatrixService.xcscheme │ │ └── LukaPenger.xcuserdatad │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ └── LPDistanceMatrixService.xcscheme ├── LPStaticMapImagesService │ ├── LPStaticMapImagesService │ │ ├── en.lproj │ │ │ └── InfoPlist.strings │ │ ├── Application │ │ │ ├── LPAppDelegate.h │ │ │ └── LPAppDelegate.m │ │ ├── main.m │ │ ├── LPStaticMapImagesService-Prefix.pch │ │ ├── Classes │ │ │ ├── LPMainViewController.h │ │ │ └── LPMainViewController.m │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── LaunchImage.launchimage │ │ │ │ └── Contents.json │ │ ├── LPStaticMapImagesService-Info.plist │ │ └── Views │ │ │ └── LPMainViewController.xib │ └── LPStaticMapImagesService.xcodeproj │ │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcuserdata │ │ │ ├── alten.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── LukaPenger.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcshareddata │ │ │ └── LPStaticMapImagesService.xccheckout │ │ └── xcuserdata │ │ ├── alten.xcuserdatad │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── LukaPenger.xcuserdatad │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ └── LPStaticMapImagesService.xcscheme ├── LPStreetViewImagesService │ ├── LPStreetViewImagesService │ │ ├── en.lproj │ │ │ └── InfoPlist.strings │ │ ├── Application │ │ │ ├── LPAppDelegate.h │ │ │ └── LPAppDelegate.m │ │ ├── main.m │ │ ├── LPStreetViewImagesService-Prefix.pch │ │ ├── Classes │ │ │ ├── LPMainViewController.h │ │ │ └── LPMainViewController.m │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── LaunchImage.launchimage │ │ │ │ └── Contents.json │ │ ├── LPStreetViewImagesService-Info.plist │ │ └── Views │ │ │ └── LPMainViewController.xib │ └── LPStreetViewImagesService.xcodeproj │ │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcuserdata │ │ │ ├── alten.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ ├── nelson.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── LukaPenger.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcshareddata │ │ │ └── LPStreetViewImagesService.xccheckout │ │ └── xcuserdata │ │ ├── nelson.xcuserdatad │ │ └── xcschemes │ │ │ ├── xcschememanagement.plist │ │ │ └── LPStreetViewImagesService.xcscheme │ │ ├── alten.xcuserdatad │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── LukaPenger.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── LPPlacesAutocompleteService │ ├── LPPlacesAutocompleteService │ │ ├── en.lproj │ │ │ └── InfoPlist.strings │ │ ├── Application │ │ │ ├── LPAppDelegate.h │ │ │ └── LPAppDelegate.m │ │ ├── LPPlacesAutocompleteService-Prefix.pch │ │ ├── main.m │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── LaunchImage.launchimage │ │ │ │ └── Contents.json │ │ ├── Classes │ │ │ ├── LPCell.h │ │ │ ├── LPMainViewController.h │ │ │ └── LPCell.m │ │ ├── LPPlacesAutocompleteService-Info.plist │ │ ├── Libraries │ │ │ └── LPImage │ │ │ │ ├── LPImage.h │ │ │ │ └── LPImage.m │ │ └── Views │ │ │ ├── LPMainViewController.xib │ │ │ └── LPCell.xib │ └── LPPlacesAutocompleteService.xcodeproj │ │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcuserdata │ │ │ ├── alten.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── LukaPenger.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcshareddata │ │ │ └── LPPlacesAutocompleteService.xccheckout │ │ └── xcuserdata │ │ ├── alten.xcuserdatad │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── LukaPenger.xcuserdatad │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ └── LPPlacesAutocompleteService.xcscheme └── AFNetworking │ ├── UIKit+AFNetworking │ ├── UIKit+AFNetworking.h │ ├── UIRefreshControl+AFNetworking.h │ ├── UIActivityIndicatorView+AFNetworking.h │ └── UIProgressView+AFNetworking.h │ └── AFNetworking │ └── AFNetworking.h ├── LPGoogleFunctions ├── .DS_Store ├── AQGoogleSignature │ ├── LPURLSigner.h │ ├── LPURLSigner.m │ └── GoogleSignature │ │ └── GTMStringEncoding.h ├── LPGoogleObjects │ ├── LPTerm.h │ ├── LPDistance.h │ ├── LPDuration.h │ ├── LPAgencie.h │ ├── LPMatchedSubstring.h │ ├── LPStop.h │ ├── LPBounds.h │ ├── LPEvent.h │ ├── LPGeometry.h │ ├── LPGeocodingResults.h │ ├── LPPlacesAutocomplete.h │ ├── LPLocation.h │ ├── LPAddressComponent.h │ ├── LPTime.h │ ├── LPWaypoint.h │ ├── LPPolyline.h │ ├── LPPlacePhoto.h │ ├── LPPlaceDetailsResults.h │ ├── LPPlaceSearchResults.h │ ├── LPLine.h │ ├── LPDistanceMatrixElement.h │ ├── LPTransitDetails.h │ ├── LPGeocodingFilter.h │ ├── LPMapImageMarker.h │ ├── LPRoute.h │ ├── LPLeg.h │ ├── LPDirections.h │ ├── LPVehicle.h │ ├── LPPrediction.h │ ├── LPStep.h │ ├── LPPlaceDetails.h │ ├── LPDistanceMatrix.h │ ├── LPDistance.m │ ├── LPTerm.m │ ├── LPDuration.m │ ├── LPAgencie.m │ ├── LPMatchedSubstring.m │ ├── LPStop.m │ ├── LPLocation.m │ ├── LPGeocodingFilter.m │ ├── LPGeometry.m │ ├── LPBounds.m │ ├── LPEvent.m │ ├── LPWaypoint.m │ ├── LPTime.m │ ├── LPGeocodingResults.m │ ├── LPMapImageMarker.m │ ├── LPPlacesAutocomplete.m │ ├── LPAddressComponent.m │ ├── LPPlaceDetailsResults.m │ └── LPDistanceMatrixElement.m └── OrderedDictionary.h ├── LPGoogleFunctions.podspec ├── LICENSE └── .gitignore /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/.DS_Store -------------------------------------------------------------------------------- /ScreenShots/img1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/ScreenShots/img1.png -------------------------------------------------------------------------------- /ScreenShots/img2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/ScreenShots/img2.png -------------------------------------------------------------------------------- /ScreenShots/img3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/ScreenShots/img3.png -------------------------------------------------------------------------------- /ScreenShots/img4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/ScreenShots/img4.png -------------------------------------------------------------------------------- /ScreenShots/img5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/ScreenShots/img5.png -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /ScreenShots/img1-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/ScreenShots/img1-thumb.png -------------------------------------------------------------------------------- /ScreenShots/img2-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/ScreenShots/img2-thumb.png -------------------------------------------------------------------------------- /ScreenShots/img3-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/ScreenShots/img3-thumb.png -------------------------------------------------------------------------------- /ScreenShots/img4-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/ScreenShots/img4-thumb.png -------------------------------------------------------------------------------- /ScreenShots/img5-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/ScreenShots/img5-thumb.png -------------------------------------------------------------------------------- /LPGoogleFunctions/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/LPGoogleFunctions/.DS_Store -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService.xcodeproj/project.xcworkspace/xcuserdata/alten.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/Examples/LPSpeakService/LPSpeakService.xcodeproj/project.xcworkspace/xcuserdata/alten.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService.xcodeproj/project.xcworkspace/xcuserdata/nelson.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/Examples/LPSpeakService/LPSpeakService.xcodeproj/project.xcworkspace/xcuserdata/nelson.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService.xcodeproj/project.xcworkspace/xcuserdata/LukaPenger.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/Examples/LPSpeakService/LPSpeakService.xcodeproj/project.xcworkspace/xcuserdata/LukaPenger.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService.xcodeproj/project.xcworkspace/xcuserdata/nelson.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/Examples/LPDistanceMatrixService/LPDistanceMatrixService.xcodeproj/project.xcworkspace/xcuserdata/nelson.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService.xcodeproj/project.xcworkspace/xcuserdata/alten.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/Examples/LPStaticMapImagesService/LPStaticMapImagesService.xcodeproj/project.xcworkspace/xcuserdata/alten.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService.xcodeproj/project.xcworkspace/xcuserdata/LukaPenger.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/Examples/LPDistanceMatrixService/LPDistanceMatrixService.xcodeproj/project.xcworkspace/xcuserdata/LukaPenger.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj/project.xcworkspace/xcuserdata/alten.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj/project.xcworkspace/xcuserdata/alten.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj/project.xcworkspace/xcuserdata/nelson.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj/project.xcworkspace/xcuserdata/nelson.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService.xcodeproj/project.xcworkspace/xcuserdata/LukaPenger.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/Examples/LPStaticMapImagesService/LPStaticMapImagesService.xcodeproj/project.xcworkspace/xcuserdata/LukaPenger.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService.xcodeproj/project.xcworkspace/xcuserdata/alten.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService.xcodeproj/project.xcworkspace/xcuserdata/alten.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj/project.xcworkspace/xcuserdata/LukaPenger.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj/project.xcworkspace/xcuserdata/LukaPenger.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService.xcodeproj/project.xcworkspace/xcuserdata/LukaPenger.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luka1995/LPGoogleFunctions-iOS/HEAD/Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService.xcodeproj/project.xcworkspace/xcuserdata/LukaPenger.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService/Application/LPAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPAppDelegate.h 3 | // LPSpeakService 4 | // 5 | // Created by Luka Penger on 01/05/14. 6 | // Copyright (c) 2014 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LPMainViewController.h" 11 | 12 | 13 | @interface LPAppDelegate : UIResponder 14 | 15 | @property (strong, nonatomic) UIWindow *window; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /LPGoogleFunctions/AQGoogleSignature/LPURLSigner.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPURLSigner.h 3 | // LPDistanceMatrixService 4 | // 5 | // Created by Abdul Qavi on 03/06/2016. 6 | // Copyright © 2016 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface LPURLSigner : NSObject 12 | 13 | + (LPURLSigner *)sharedManager; 14 | 15 | - (NSString *)createSignatureWithHMAC_SHA1:(NSString *)url key:(NSString *)key; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LPSpeakService 4 | // 5 | // Created by Luka Penger on 01/05/14. 6 | // Copyright (c) 2014 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "LPAppDelegate.h" 12 | 13 | int main(int argc, char * argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([LPAppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService/LPSpeakService-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_3_0 10 | #warning "This project uses features only available in iOS SDK 3.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | #import 15 | #import 16 | #endif 17 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService/Application/LPAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPAppDelegate.h 3 | // LPDistanceMatrixService 4 | // 5 | // Created by Luka Penger on 14/07/14. 6 | // Copyright (c) 2014 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LPMainViewController.h" 11 | 12 | 13 | @interface LPAppDelegate : UIResponder 14 | 15 | @property (strong, nonatomic) UIWindow *window; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService/Application/LPAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPAppDelegate.h 3 | // LPStaticMapImagesService 4 | // 5 | // Created by Luka Penger on 8/20/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LPMainViewController.h" 11 | 12 | 13 | @interface LPAppDelegate : UIResponder 14 | 15 | @property (strong, nonatomic) UIWindow *window; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService/Application/LPAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPAppDelegate.h 3 | // LPStreetViewImagesService 4 | // 5 | // Created by Luka Penger on 8/20/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LPMainViewController.h" 11 | 12 | 13 | @interface LPAppDelegate : UIResponder 14 | 15 | @property (strong, nonatomic) UIWindow *window; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LPDistanceMatrixService 4 | // 5 | // Created by Luka Penger on 14/07/14. 6 | // Copyright (c) 2014 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "LPAppDelegate.h" 12 | 13 | int main(int argc, char * argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([LPAppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService/LPDistanceMatrixService-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_3_0 10 | #warning "This project uses features only available in iOS SDK 3.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | #import 15 | #import 16 | #endif 17 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/Application/LPAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPAppDelegate.h 3 | // LPPlacesAutocompleteService 4 | // 5 | // Created by Luka Penger on 27/10/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LPMainViewController.h" 11 | 12 | 13 | @interface LPAppDelegate : UIResponder 14 | 15 | @property (strong, nonatomic) UIWindow *window; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LPStaticMapImagesService 4 | // 5 | // Created by Luka Penger on 01/05/14. 6 | // Copyright (c) 2014 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "LPAppDelegate.h" 12 | 13 | int main(int argc, char * argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([LPAppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LPStreetViewImagesService 4 | // 5 | // Created by Luka Penger on 01/05/14. 6 | // Copyright (c) 2014 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "LPAppDelegate.h" 12 | 13 | int main(int argc, char * argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([LPAppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService/LPStaticMapImagesService-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_3_0 10 | #warning "This project uses features only available in iOS SDK 3.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | #import 15 | #import 16 | #endif 17 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService/LPStreetViewImagesService-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_3_0 10 | #warning "This project uses features only available in iOS SDK 3.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | #import 15 | #import 16 | #endif 17 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/LPPlacesAutocompleteService-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_3_0 10 | #warning "This project uses features only available in iOS SDK 3.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | #import 15 | #import 16 | #endif 17 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LPPlacesAutocompleteService 4 | // 5 | // Created by Luka Penger on 01/05/14. 6 | // Copyright (c) 2014 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "LPAppDelegate.h" 12 | 13 | int main(int argc, char * argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([LPAppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "40x40", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "60x60", 16 | "scale" : "2x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService/Classes/LPMainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPMainViewController.h 3 | // LPStaticMapImagesService 4 | // 5 | // Created by Luka Penger on 8/20/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LPGoogleFunctions.h" 11 | 12 | 13 | @interface LPMainViewController : UIViewController 14 | 15 | @property (nonatomic, strong) IBOutlet UIImageView *imageView; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService/Classes/LPMainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPMainViewController.h 3 | // LPStreetViewImagesService 4 | // 5 | // Created by Luka Penger on 8/20/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LPGoogleFunctions.h" 11 | 12 | 13 | @interface LPMainViewController : UIViewController 14 | 15 | @property (nonatomic, strong) IBOutlet UIImageView *imageView; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "40x40", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "60x60", 16 | "scale" : "2x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "40x40", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "60x60", 16 | "scale" : "2x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "40x40", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "60x60", 16 | "scale" : "2x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPTerm.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPTerm.h 3 | // 4 | // Created by Luka Penger on 7/7/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface LPTerm : NSObject 12 | 13 | @property (nonatomic, strong) NSString *value; 14 | @property (nonatomic, assign) int offset; 15 | 16 | + (id)termWithObjects:(NSDictionary *)dictionary; 17 | 18 | - (NSDictionary *)dictionary; 19 | 20 | - (id)copyWithZone:(NSZone *)zone; 21 | 22 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPDistance.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPDistance.h 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface LPDistance : NSObject 12 | 13 | @property (nonatomic, strong) NSString *text; 14 | @property (nonatomic, assign) int value; 15 | 16 | + (id)distanceWithObjects:(NSDictionary *)dictionary; 17 | 18 | - (NSDictionary *)dictionary; 19 | 20 | - (id)copyWithZone:(NSZone *)zone; 21 | 22 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPDuration.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPDuration.h 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface LPDuration : NSObject 12 | 13 | @property (nonatomic, strong) NSString *text; 14 | @property (nonatomic, assign) int value; 15 | 16 | + (id)durationWithObjects:(NSDictionary *)dictionary; 17 | 18 | - (NSDictionary *)dictionary; 19 | 20 | - (id)copyWithZone:(NSZone *)zone; 21 | 22 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPAgencie.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPAgencie.h 3 | // 4 | // Created by Luka Penger on 7/27/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface LPAgencie : NSObject 12 | 13 | @property (nonatomic, strong) NSString *name; 14 | @property (nonatomic, strong) NSString *url; 15 | 16 | + (id)agencieWithObjects:(NSDictionary *)dictionary; 17 | 18 | - (NSDictionary *)dictionary; 19 | 20 | - (id)copyWithZone:(NSZone *)zone; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService/Classes/LPMainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPMainViewController.h 3 | // LPPlacesAutocomplateService 4 | // 5 | // Created by Luka Penger on 8/21/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LPGoogleFunctions.h" 11 | 12 | 13 | @interface LPMainViewController : UIViewController 14 | 15 | @property (nonatomic, strong) IBOutlet UITextField *textField; 16 | 17 | - (IBAction)speakButtonClicked:(id)sender; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPMatchedSubstring.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPMatchedSubstring.h 3 | // 4 | // Created by Luka Penger on 7/7/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface LPMatchedSubstring : NSObject 12 | 13 | @property (nonatomic, assign) int length; 14 | @property (nonatomic, assign) int offset; 15 | 16 | + (id)matchedSubstringWithObjects:(NSDictionary *)dictionary; 17 | 18 | - (NSDictionary *)dictionary; 19 | 20 | - (id)copyWithZone:(NSZone *)zone; 21 | 22 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPStop.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPStop.h 3 | // 4 | // Created by Luka Penger on 7/27/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPLocation.h" 10 | 11 | 12 | @interface LPStop : NSObject 13 | 14 | @property (nonatomic, strong) LPLocation *location; 15 | @property (nonatomic, strong) NSString *name; 16 | 17 | + (id)stopWithObjects:(NSDictionary *)dictionary; 18 | 19 | - (NSDictionary *)dictionary; 20 | 21 | - (id)copyWithZone:(NSZone *)zone; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService/Classes/LPMainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPMainViewController.h 3 | // LPPlacesAutocomplateService 4 | // 5 | // Created by Luka Penger on 8/21/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import "LPGoogleFunctions.h" 12 | 13 | 14 | @interface LPMainViewController : UIViewController 15 | 16 | @property (nonatomic, strong) IBOutlet UITextView *textView; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPBounds.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPBounds.h 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPLocation.h" 10 | 11 | 12 | @interface LPBounds : NSObject 13 | 14 | @property (nonatomic, strong) LPLocation *northeast; 15 | @property (nonatomic, strong) LPLocation *southwest; 16 | 17 | + (id)boundsWithObjects:(NSDictionary *)dictionary; 18 | 19 | - (NSDictionary *)dictionary; 20 | 21 | - (id)copyWithZone:(NSZone *)zone; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPEvent.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPEvent.h 3 | // 4 | // Created by Luka Penger on 8/20/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface LPEvent : NSObject 12 | 13 | @property (nonatomic, strong) NSString *eventID; 14 | @property (nonatomic, strong) NSString *summary; 15 | @property (nonatomic, strong) NSString *URL; 16 | 17 | + (id)eventWithObjects:(NSDictionary *)dictionary; 18 | 19 | - (NSDictionary *)dictionary; 20 | 21 | - (id)copyWithZone:(NSZone *)zone; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/Classes/LPCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPCell.h 3 | // LPPlacesAutocompleteService 4 | // 5 | // Created by Luka Penger on 01/05/14. 6 | // Copyright (c) 2014 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface LPCell : UITableViewCell 13 | 14 | @property (nonatomic, strong) IBOutlet UILabel *topLabel; 15 | @property (nonatomic, strong) IBOutlet UILabel *bottomLabel; 16 | @property (nonatomic, strong) IBOutlet UIImageView *leftImageView; 17 | 18 | + (LPCell *)cellFromNibNamed:(NSString *)nibName; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPGeometry.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPGeometry.h 3 | // 4 | // Created by Luka Penger on 7/26/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPLocation.h" 10 | #import "LPBounds.h" 11 | 12 | 13 | @interface LPGeometry : NSObject 14 | 15 | @property (nonatomic, strong) LPLocation *location; 16 | @property (nonatomic, strong) LPBounds *viewport; 17 | 18 | + (id)geometryWithObjects:(NSDictionary *)dictionary; 19 | 20 | - (NSDictionary *)dictionary; 21 | 22 | - (id)copyWithZone:(NSZone *)zone; 23 | 24 | @end -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "portrait", 12 | "idiom" : "iphone", 13 | "subtype" : "retina4", 14 | "extent" : "full-screen", 15 | "minimum-system-version" : "7.0", 16 | "scale" : "2x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPGeocodingResults.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPGeocodingResults.h 3 | // 4 | // Created by Luka Penger on 7/28/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPPlaceDetails.h" 10 | 11 | 12 | @interface LPGeocodingResults : NSObject 13 | 14 | @property (nonatomic, strong) NSArray *results; 15 | @property (nonatomic, strong) NSString *statusCode; 16 | 17 | + (id)geocodingResultsWithObjects:(NSDictionary *)dictionary; 18 | 19 | - (NSDictionary *)dictionary; 20 | 21 | - (id)copyWithZone:(NSZone *)zone; 22 | 23 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPPlacesAutocomplete.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPPlacesAutocomplete.h 3 | // 4 | // Created by Luka Penger on 7/7/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPPrediction.h" 10 | 11 | @interface LPPlacesAutocomplete : NSObject 12 | 13 | @property (nonatomic, strong) NSArray *predictions; 14 | @property (nonatomic, strong) NSString *statusCode; 15 | 16 | + (id)placesAutocompleteWithObjects:(NSDictionary*)dictionary; 17 | 18 | - (NSDictionary*)dictionary; 19 | 20 | - (id)copyWithZone:(NSZone *)zone; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "portrait", 12 | "idiom" : "iphone", 13 | "subtype" : "retina4", 14 | "extent" : "full-screen", 15 | "minimum-system-version" : "7.0", 16 | "scale" : "2x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPLocation.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPLocation.h 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface LPLocation : NSObject 12 | 13 | @property (nonatomic, assign) double latitude; 14 | @property (nonatomic, assign) double longitude; 15 | 16 | + (id)locationWithObjects:(NSDictionary *)dictionary; 17 | 18 | + (id)locationWithLatitude:(double)latitude longitude:(double)longitude; 19 | 20 | - (NSDictionary *)dictionary; 21 | 22 | - (id)copyWithZone:(NSZone *)zone; 23 | 24 | @end -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "portrait", 12 | "idiom" : "iphone", 13 | "subtype" : "retina4", 14 | "extent" : "full-screen", 15 | "minimum-system-version" : "7.0", 16 | "scale" : "2x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "portrait", 12 | "idiom" : "iphone", 13 | "subtype" : "retina4", 14 | "extent" : "full-screen", 15 | "minimum-system-version" : "7.0", 16 | "scale" : "2x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "portrait", 12 | "idiom" : "iphone", 13 | "subtype" : "retina4", 14 | "extent" : "full-screen", 15 | "minimum-system-version" : "7.0", 16 | "scale" : "2x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPAddressComponent.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPAddressComponent.h 3 | // 4 | // Created by Luka Penger on 7/26/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface LPAddressComponent : NSObject 12 | 13 | @property (nonatomic, strong) NSString *longName; 14 | @property (nonatomic, strong) NSString *shortName; 15 | @property (nonatomic, strong) NSArray *types; 16 | 17 | + (id)addressComponentWithObjects:(NSDictionary *)dictionary; 18 | 19 | - (NSDictionary *)dictionary; 20 | 21 | - (id)copyWithZone:(NSZone *)zone; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPTime.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPTime.h 3 | // 4 | // Created by Luka Penger on 7/27/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface LPTime : NSObject 12 | 13 | @property (nonatomic, strong) NSString *text; 14 | @property (nonatomic, strong) NSString *timeZone; 15 | @property (nonatomic, assign) float value; 16 | @property (nonatomic, strong) NSDate *formattedTime; 17 | 18 | + (id)timeWithObjects:(NSDictionary *)dictionary; 19 | 20 | - (NSDictionary *)dictionary; 21 | 22 | - (id)copyWithZone:(NSZone *)zone; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPWaypoint.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPWaypoint.h 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPLocation.h" 10 | 11 | 12 | @interface LPWaypoint : NSObject 13 | 14 | @property (nonatomic, strong) LPLocation *location; 15 | @property (nonatomic, assign) int stepIndex; 16 | @property (nonatomic, assign) double stepInterpolation; 17 | 18 | + (id)waypointWithObjects:(NSDictionary *)dictionary; 19 | 20 | - (NSDictionary *)dictionary; 21 | 22 | - (id)copyWithZone:(NSZone *)zone; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPPolyline.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPPolyline.h 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPLocation.h" 10 | 11 | 12 | @interface LPPolyline : NSObject 13 | 14 | @property (nonatomic, strong) NSString *pointsString; 15 | @property (nonatomic, strong) NSArray *pointsArray; 16 | 17 | + (id)polylineWithObjects:(NSDictionary *)dictionary; 18 | 19 | + (NSArray *)decodePolylineOfGoogleMaps:(NSString *)encodedPolyline; 20 | 21 | - (NSDictionary *)dictionary; 22 | 23 | - (id)copyWithZone:(NSZone *)zone; 24 | 25 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPPlacePhoto.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPPlacePhoto.h 3 | // 4 | // Created by Luka Penger on 8/20/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface LPPlacePhoto : NSObject 12 | 13 | @property (nonatomic, strong) NSArray *htmlAttributions; 14 | @property (nonatomic, assign) int height; 15 | @property (nonatomic, assign) int width; 16 | @property (nonatomic, strong) NSString *photoReference; 17 | 18 | + (id)placePhotoWithObjects:(NSDictionary *)dictionary; 19 | 20 | - (NSDictionary *)dictionary; 21 | 22 | - (id)copyWithZone:(NSZone *)zone; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService.xcodeproj/xcuserdata/nelson.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LPSpeakService.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0CCB617B1912C9C900648FCC 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPPlaceDetailsResults.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPPlaceDetailsResults.h 3 | // 4 | // Created by Luka Penger on 7/26/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPPlaceDetails.h" 10 | 11 | 12 | @interface LPPlaceDetailsResults : NSObject 13 | 14 | @property (nonatomic, strong) NSArray *htmlAttributions; 15 | @property (nonatomic, strong) LPPlaceDetails *result; 16 | @property (nonatomic, strong) NSString *statusCode; 17 | 18 | + (id)placeDetailsResultsWithObjects:(NSDictionary *)dictionary; 19 | 20 | - (NSDictionary *)dictionary; 21 | 22 | - (id)copyWithZone:(NSZone *)zone; 23 | 24 | @end -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService.xcodeproj/xcuserdata/nelson.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LPDistanceMatrixService.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0C22076B1974093400835C45 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/Classes/LPMainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPMainViewController.h 3 | // LPPlacesAutocomplateService 4 | // 5 | // Created by Luka Penger on 8/21/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "UIImageView+AFNetworking.h" 11 | #import "LPGoogleFunctions.h" 12 | #import "LPImage.h" 13 | #import "LPCell.h" 14 | 15 | 16 | @interface LPMainViewController : UIViewController 17 | 18 | @property (nonatomic, strong) IBOutlet UITableView *tableView; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj/xcuserdata/nelson.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LPStreetViewImagesService.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0CCB60B81912C80D00648FCC 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPPlaceSearchResults.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPPlaceSearchResults.h 3 | // 4 | // Created by Luka Penger on 8/20/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPPlaceDetails.h" 10 | 11 | 12 | @interface LPPlaceSearchResults : NSObject 13 | 14 | @property (nonatomic, strong) NSArray *results; 15 | @property (nonatomic, strong) NSString *statusCode; 16 | @property (nonatomic, strong) NSArray *htmlAttributions; 17 | @property (nonatomic, strong) NSString *nextPageToken; 18 | 19 | + (id)placeSearchResultsWithObjects:(NSDictionary *)dictionary; 20 | 21 | - (NSDictionary *)dictionary; 22 | 23 | - (id)copyWithZone:(NSZone *)zone; 24 | 25 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = "LPGoogleFunctions" 3 | s.version = "1.2.3" 4 | s.summary = "LPGoogleFunctions is an iOS library that provides easy access to certain Google API functions." 5 | s.homepage = "https://github.com/luka1995/LPGoogleFunctions.git" 6 | s.license = { :type => 'MIT', :file => 'LICENSE' } 7 | s.author = { 'Luka Penger' => 'luka.penger@gmail.com' } 8 | s.source = { :git => "https://github.com/luka1995/LPGoogleFunctions.git", :tag => s.version.to_s } 9 | s.platform = :ios, '6.0' 10 | s.source_files = 'LPGoogleFunctions/**/*.{h,m}' 11 | s.frameworks = "CoreLocation","AVFoundation" 12 | s.requires_arc = true 13 | s.dependency 'AFNetworking', '~> 2.0' 14 | end 15 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPLine.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPLine.h 3 | // 4 | // Created by Luka Penger on 7/27/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPAgencie.h" 10 | #import "LPVehicle.h" 11 | 12 | 13 | @interface LPLine : NSObject 14 | 15 | @property (nonatomic, strong) NSArray *agencies; 16 | @property (nonatomic, strong) UIColor *color; 17 | @property (nonatomic, strong) NSString *name; 18 | @property (nonatomic, strong) NSString *shortName; 19 | @property (nonatomic, strong) LPVehicle *vehicle; 20 | 21 | + (id)lineWithObjects:(NSDictionary *)dictionary; 22 | 23 | - (NSDictionary *)dictionary; 24 | 25 | - (id)copyWithZone:(NSZone *)zone; 26 | 27 | - (int)getBUSnumber; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService.xcodeproj/xcuserdata/alten.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LPSpeakService.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0CCB617B1912C9C900648FCC 16 | 17 | primary 18 | 19 | 20 | 0CCB61961912C9C900648FCC 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService.xcodeproj/xcuserdata/LukaPenger.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LPSpeakService.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0CCB617B1912C9C900648FCC 16 | 17 | primary 18 | 19 | 20 | 0CCB61961912C9C900648FCC 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPDistanceMatrixElement.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPDistanceMatrixElement.h 3 | // ChargeJuice 4 | // 5 | // Created by Luka Penger on 13/07/14. 6 | // Copyright (c) 2014 izzivizzi. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LPDistance.h" 11 | #import "LPDuration.h" 12 | 13 | 14 | @interface LPDistanceMatrixElement : NSObject 15 | 16 | @property (nonatomic, strong) LPDistance *distance; 17 | @property (nonatomic, strong) LPDuration *duration; 18 | @property (nonatomic, strong) LPDuration *durationInTraffic; 19 | @property (nonatomic, strong) NSString *statusCode; 20 | 21 | + (id)distanceMatrixElementWithObjects:(NSDictionary *)dictionary; 22 | 23 | - (NSDictionary *)dictionary; 24 | 25 | - (id)copyWithZone:(NSZone *)zone; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService.xcodeproj/xcuserdata/LukaPenger.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LPDistanceMatrixService.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0C22076B1974093400835C45 16 | 17 | primary 18 | 19 | 20 | 0C2207861974093400835C45 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService.xcodeproj/xcuserdata/alten.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LPStaticMapImagesService.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0CCB5F3C1912C1AB00648FCC 16 | 17 | primary 18 | 19 | 20 | 0CCB5F571912C1AB00648FCC 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj/xcuserdata/alten.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LPStreetViewImagesService.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0CCB60B81912C80D00648FCC 16 | 17 | primary 18 | 19 | 20 | 0CCB60D31912C80D00648FCC 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService.xcodeproj/xcuserdata/alten.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LPPlacesAutocompleteService.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0CCB5DB31912B0C100648FCC 16 | 17 | primary 18 | 19 | 20 | 0CCB5DCE1912B0C100648FCC 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService.xcodeproj/xcuserdata/LukaPenger.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LPStaticMapImagesService.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0CCB5F3C1912C1AB00648FCC 16 | 17 | primary 18 | 19 | 20 | 0CCB5F571912C1AB00648FCC 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj/xcuserdata/LukaPenger.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LPStreetViewImagesService.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0CCB60B81912C80D00648FCC 16 | 17 | primary 18 | 19 | 20 | 0CCB60D31912C80D00648FCC 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService.xcodeproj/xcuserdata/LukaPenger.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LPPlacesAutocompleteService.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0CCB5DB31912B0C100648FCC 16 | 17 | primary 18 | 19 | 20 | 0CCB5DCE1912B0C100648FCC 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/Classes/LPCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPCell.m 3 | // LPPlacesAutocompleteService 4 | // 5 | // Created by Luka Penger on 01/05/14. 6 | // Copyright (c) 2014 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import "LPCell.h" 10 | 11 | 12 | @implementation LPCell 13 | 14 | + (LPCell *)cellFromNibNamed:(NSString *)nibName 15 | { 16 | NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:nibName owner:self options:NULL]; 17 | NSEnumerator *nibEnumerator = [nibContents objectEnumerator]; 18 | LPCell *xibBasedCell = nil; 19 | NSObject* nibItem = nil; 20 | 21 | while ((nibItem = [nibEnumerator nextObject]) != nil) { 22 | if ([nibItem isKindOfClass:[LPCell class]]) { 23 | xibBasedCell = (LPCell *)nibItem; 24 | break; 25 | } 26 | } 27 | 28 | return xibBasedCell; 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPTransitDetails.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPTransitDetails.h 3 | // 4 | // Created by Luka Penger on 7/27/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPStop.h" 10 | #import "LPTime.h" 11 | #import "LPLine.h" 12 | 13 | 14 | @interface LPTransitDetails : NSObject 15 | 16 | @property (nonatomic, strong) LPStop *arrivalStop; 17 | @property (nonatomic, strong) LPTime *arrivalTime; 18 | @property (nonatomic, strong) LPStop *departureStop; 19 | @property (nonatomic, strong) LPTime *departureTime; 20 | @property (nonatomic, strong) NSString *headsign; 21 | @property (nonatomic, strong) LPLine *line; 22 | @property (nonatomic, assign) int numStops; 23 | 24 | + (id)transitDetailsWithObjects:(NSDictionary *)dictionary; 25 | 26 | - (NSDictionary *)dictionary; 27 | 28 | - (id)copyWithZone:(NSZone *)zone; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPGeocodingFilter.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPGeocodingFilter.h 3 | // 4 | // Created by Luka Penger on 7/28/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | 11 | typedef enum { 12 | LPGeocodingFilterRoute, 13 | LPGeocodingFilterLocality, 14 | LPGeocodingFilterAdministrative_area, 15 | LPGeocodingFilterPostal_code, 16 | LPGeocodingFilterCountry 17 | } LPGeocodingFilterMode; 18 | 19 | 20 | @interface LPGeocodingFilter : NSObject 21 | 22 | @property (nonatomic, assign) LPGeocodingFilterMode filter; 23 | @property (nonatomic, strong) NSString *value; 24 | 25 | + (id)filterWithGeocodingFilter:(LPGeocodingFilterMode)filter value:(NSString *)value; 26 | 27 | - (NSDictionary *)dictionary; 28 | 29 | + (NSString *)getGeocodingFilter:(LPGeocodingFilterMode)filter; 30 | 31 | - (id)copyWithZone:(NSZone *)zone; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /LPGoogleFunctions/OrderedDictionary.h: -------------------------------------------------------------------------------- 1 | // 2 | // OrderedDictionary.h 3 | // OrderedDictionary 4 | // 5 | // Created by Matt Gallagher on 19/12/08. 6 | // Copyright 2008 Matt Gallagher. All rights reserved. 7 | // 8 | // Permission is given to use this source code file without charge in any 9 | // project, commercial or otherwise, entirely at your risk, with the condition 10 | // that any redistribution (in part or whole) of source code must retain 11 | // this copyright and permission notice. Attribution in compiled projects is 12 | // appreciated but not required. 13 | // 14 | 15 | #import 16 | 17 | @interface OrderedDictionary : NSMutableDictionary { 18 | 19 | NSMutableDictionary *dictionary; 20 | NSMutableArray *array; 21 | } 22 | 23 | - (void)insertObject:(id)anObject forKey:(id)aKey atIndex:(NSUInteger)anIndex; 24 | - (id)keyAtIndex:(NSUInteger)anIndex; 25 | - (NSEnumerator *)reverseKeyEnumerator; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService/Application/LPAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPAppDelegate.m 3 | // LPDistanceMatrixService 4 | // 5 | // Created by Luka Penger on 14/07/14. 6 | // Copyright (c) 2014 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import "LPAppDelegate.h" 10 | 11 | 12 | @implementation LPAppDelegate 13 | 14 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 15 | self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 16 | 17 | // Init Controller 18 | 19 | LPMainViewController *mainViewController = [[LPMainViewController alloc] initWithNibName:@"LPMainViewController" bundle:nil]; 20 | UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:mainViewController]; 21 | self.window.rootViewController = navigationController; 22 | 23 | [self.window makeKeyAndVisible]; 24 | 25 | return YES; 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPMapImageMarker.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPMapImageMarker.h 3 | // BicikeLJ 4 | // 5 | // Created by Luka Penger on 7/6/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LPLocation.h" 11 | 12 | 13 | typedef enum { 14 | LPGoogleMapImageMarkerSizeTiny, 15 | LPGoogleMapImageMarkerSizeMid, 16 | LPGoogleMapImageMarkerSizeSmall, 17 | LPGoogleMapImageMarkerSizeNormal 18 | } LPGoogleMapImageMarkerSize; 19 | 20 | 21 | @interface LPMapImageMarker : NSObject 22 | 23 | @property (nonatomic, assign) LPGoogleMapImageMarkerSize size; 24 | @property (nonatomic, strong) UIColor *color; 25 | @property (nonatomic, strong) NSString *label; 26 | @property (nonatomic, strong) LPLocation *location; 27 | 28 | - (NSDictionary* )dictionary; 29 | 30 | - (NSString *)getColorString; 31 | 32 | - (NSString *)getSizeString; 33 | 34 | - (NSString *)getMarkerURLString; 35 | 36 | - (id)copyWithZone:(NSZone *)zone; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPRoute.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPRoute.h 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPBounds.h" 10 | #import "LPPolyline.h" 11 | #import "LPLeg.h" 12 | #import "LPWaypoint.h" 13 | 14 | 15 | @interface LPRoute : NSObject 16 | 17 | @property (nonatomic, assign) int number; 18 | @property (nonatomic, strong) LPBounds *bounds; 19 | @property (nonatomic, strong) NSString *copyrights; 20 | @property (nonatomic, strong) NSArray *legs; 21 | @property (nonatomic, strong) LPPolyline *overviewPolyline; 22 | @property (nonatomic, strong) NSString *summary; 23 | @property (nonatomic, strong) NSArray *waypoints; 24 | @property (nonatomic, strong) NSArray *warnings; 25 | 26 | + (id)routeWithObjects:(NSDictionary *)dictionary; 27 | 28 | - (NSDictionary *)dictionary; 29 | 30 | - (id)copyWithZone:(NSZone *)zone; 31 | 32 | - (int)getRouteDuration; 33 | - (int)getRouteDistance; 34 | 35 | @end 36 | 37 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPLeg.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPLeg.h 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPDistance.h" 10 | #import "LPDuration.h" 11 | #import "LPLocation.h" 12 | #import "LPStep.h" 13 | #import "LPTime.h" 14 | 15 | 16 | @interface LPLeg : NSObject 17 | 18 | @property (nonatomic, strong) LPTime *arrivalTime; 19 | @property (nonatomic, strong) LPTime *departureTime; 20 | @property (nonatomic, strong) LPDistance *distance; 21 | @property (nonatomic, strong) LPDuration *duration; 22 | @property (nonatomic, strong) LPDuration *durationInTraffic; 23 | @property (nonatomic, strong) NSString *endAddress; 24 | @property (nonatomic, strong) LPLocation *endLocation; 25 | @property (nonatomic, strong) NSString *startAddress; 26 | @property (nonatomic, strong) LPLocation *startLocation; 27 | @property (nonatomic, strong) NSArray *steps; 28 | 29 | + (id)legWithObjects:(NSDictionary *)dictionary; 30 | 31 | - (NSDictionary *)dictionary; 32 | 33 | - (id)copyWithZone:(NSZone *)zone; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This code is distributed under the terms and conditions of the MIT license. 2 | 3 | Copyright (c) 2013 Luka Penger 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService/LPSpeakService-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | lukapenger.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0.0 25 | LSRequiresIPhoneOS 26 | 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPDirections.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPDirections.h 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPRoute.h" 10 | 11 | 12 | typedef enum { 13 | LPGoogleDirectionsAvoidNone, 14 | LPGoogleDirectionsAvoidTolls, 15 | LPGoogleDirectionsAvoidHighways, 16 | LPGoogleDirectionsAvoidFerries, 17 | LPGoogleDirectionsAvoidIndoor 18 | } LPGoogleDirectionsAvoid; 19 | 20 | typedef enum { 21 | LPGoogleDirectionsUnitMetric, 22 | LPGoogleDirectionsUnitImperial 23 | } LPGoogleDirectionsUnit; 24 | 25 | 26 | @interface LPDirections : NSObject 27 | 28 | @property (nonatomic, strong) NSArray *routes; 29 | @property (nonatomic, strong) NSString *statusCode; 30 | @property (nonatomic, strong) NSString *errorMessage; 31 | @property (nonatomic, assign) LPGoogleDirectionsTravelMode requestTravelMode; 32 | 33 | + (id)directionsWithObjects:(NSDictionary *)dictionary; 34 | 35 | - (NSDictionary *)dictionary; 36 | 37 | - (id)copyWithZone:(NSZone *)zone; 38 | 39 | + (NSString *)getDirectionsAvoid:(LPGoogleDirectionsAvoid)avoid; 40 | + (NSString *)getDirectionsUnit:(LPGoogleDirectionsUnit)unit; 41 | 42 | @end 43 | 44 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService/LPDistanceMatrixService-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0.0 25 | LSRequiresIPhoneOS 26 | 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService/LPStaticMapImagesService-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | lukapenger.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0.0 25 | LSRequiresIPhoneOS 26 | 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService/LPStreetViewImagesService-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | lukapenger.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0.0 25 | LSRequiresIPhoneOS 26 | 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/LPPlacesAutocompleteService-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | lukapenger.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0.0 25 | LSRequiresIPhoneOS 26 | 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPVehicle.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPVehicle.h 3 | // 4 | // Created by Luka Penger on 7/27/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | 11 | typedef enum { 12 | LPGoogleVehicleTypeRAIL, 13 | LPGoogleVehicleTypeMETRO_RAIL, 14 | LPGoogleVehicleTypeSUBWAY, 15 | LPGoogleVehicleTypeTRAM, 16 | LPGoogleVehicleTypeMONORAIL, 17 | LPGoogleVehicleTypeHEAVY_RAIL, 18 | LPGoogleVehicleTypeCOMMUTER_TRAIN, 19 | LPGoogleVehicleTypeHIGH_SPEED_TRAIN, 20 | LPGoogleVehicleTypeBUS, 21 | LPGoogleVehicleTypeINTERCITY_BUS, 22 | LPGoogleVehicleTypeTROLLEYBUS, 23 | LPGoogleVehicleTypeSHARE_TAXI, 24 | LPGoogleVehicleTypeFERRY, 25 | LPGoogleVehicleTypeCABLE_CAR, 26 | LPGoogleVehicleTypeGONDOLA_LIFT, 27 | LPGoogleVehicleTypeFUNICULAR, 28 | LPGoogleVehicleTypeOTHER 29 | } LPGoogleVehicleType; 30 | 31 | 32 | @interface LPVehicle : NSObject 33 | 34 | @property (nonatomic, strong) NSString *icon; 35 | @property (nonatomic, strong) NSString *name; 36 | @property (nonatomic, assign) LPGoogleVehicleType type; 37 | 38 | + (LPGoogleVehicleType)getGoogleVehicleTypeFromString:(NSString *)type; 39 | + (NSString *)getGoogleVehicleType:(LPGoogleVehicleType)type; 40 | 41 | + (id)vehicleWithObjects:(NSDictionary *)dictionary; 42 | 43 | - (NSDictionary *)dictionary; 44 | 45 | - (id)copyWithZone:(NSZone *)zone; 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPPrediction.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPPrediction.h 3 | // 4 | // Created by Luka Penger on 7/7/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPMatchedSubstring.h" 10 | #import "LPTerm.h" 11 | 12 | 13 | typedef enum { 14 | LPGooglePlaceTypeGeocode, 15 | LPGooglePlaceTypeEstablishment, 16 | LPGooglePlaceTypeLocality, 17 | LPGooglePlaceTypeSublocality, 18 | LPGooglePlaceTypePostalCode, 19 | LPGooglePlaceTypeCountry, 20 | LPGooglePlaceTypeAdministrativeArea1, 21 | LPGooglePlaceTypeAdministrativeArea2, 22 | LPGooglePlaceTypeAdministrativeArea3, 23 | LPGooglePlaceTypeUnknown 24 | } LPGooglePlaceType; 25 | 26 | 27 | @interface LPPrediction : NSObject 28 | 29 | @property (nonatomic, strong) NSString *name; 30 | @property (nonatomic, strong) NSString *ID; 31 | @property (nonatomic, assign) int number; 32 | @property (nonatomic, strong) NSString *reference; 33 | @property (nonatomic, strong) NSArray *types; 34 | @property (nonatomic, strong) NSArray *terms; 35 | @property (nonatomic, strong) NSArray *matchedSubstrings; 36 | 37 | + (id)predicationWithObjects:(NSDictionary *)dictionary; 38 | 39 | - (NSDictionary *)dictionary; 40 | 41 | + (LPGooglePlaceType)getGooglePlaceTypeFromString:(NSString *)type; 42 | + (NSString *)getStringFromGooglePlaceType:(LPGooglePlaceType)type; 43 | 44 | - (id)copyWithZone:(NSZone *)zone; 45 | 46 | @end -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService/Application/LPAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPAppDelegate.m 3 | // LPSpeakService 4 | // 5 | // Created by Luka Penger on 01/05/14. 6 | // Copyright (c) 2014 Luka Penger. All rights reserved. 7 | // 8 | 9 | 10 | #import "LPAppDelegate.h" 11 | 12 | @implementation LPAppDelegate 13 | 14 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 15 | { 16 | self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 17 | 18 | // UINavigationBar style 19 | 20 | NSMutableDictionary *titleBarAttributes = [NSMutableDictionary dictionaryWithDictionary: [[UINavigationBar appearance] titleTextAttributes]]; 21 | [titleBarAttributes setValue:[UIFont boldSystemFontOfSize:20.0f] forKey:NSFontAttributeName]; 22 | [titleBarAttributes setValue:[UIColor whiteColor] forKey:NSForegroundColorAttributeName]; 23 | [[UINavigationBar appearance] setTitleTextAttributes:titleBarAttributes]; 24 | [[UINavigationBar appearance] setBarTintColor:[UIColor purpleColor]]; 25 | 26 | // Init Controller 27 | 28 | LPMainViewController *mainViewController = [[LPMainViewController alloc] initWithNibName:@"LPMainViewController" bundle:nil]; 29 | UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:mainViewController]; 30 | self.window.rootViewController = navigationController; 31 | 32 | [self.window makeKeyAndVisible]; 33 | 34 | return YES; 35 | } 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService/Application/LPAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPAppDelegate.m 3 | // LPStaticMapImagesService 4 | // 5 | // Created by Luka Penger on 8/20/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import "LPAppDelegate.h" 10 | 11 | 12 | @implementation LPAppDelegate 13 | 14 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 15 | { 16 | self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 17 | 18 | // UINavigationBar style 19 | 20 | NSMutableDictionary *titleBarAttributes = [NSMutableDictionary dictionaryWithDictionary: [[UINavigationBar appearance] titleTextAttributes]]; 21 | [titleBarAttributes setValue:[UIFont boldSystemFontOfSize:20.0f] forKey:NSFontAttributeName]; 22 | [titleBarAttributes setValue:[UIColor whiteColor] forKey:NSForegroundColorAttributeName]; 23 | [[UINavigationBar appearance] setTitleTextAttributes:titleBarAttributes]; 24 | [[UINavigationBar appearance] setBarTintColor:[UIColor purpleColor]]; 25 | 26 | // Init Controller 27 | 28 | LPMainViewController *mainViewController = [[LPMainViewController alloc] initWithNibName:@"LPMainViewController" bundle:nil]; 29 | UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:mainViewController]; 30 | self.window.rootViewController = navigationController; 31 | 32 | [self.window makeKeyAndVisible]; 33 | 34 | return YES; 35 | } 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService/Application/LPAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPAppDelegate.m 3 | // LPStreetViewImagesService 4 | // 5 | // Created by Luka Penger on 8/20/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import "LPAppDelegate.h" 10 | 11 | 12 | @implementation LPAppDelegate 13 | 14 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 15 | { 16 | self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 17 | 18 | // UINavigationBar style 19 | 20 | NSMutableDictionary *titleBarAttributes = [NSMutableDictionary dictionaryWithDictionary: [[UINavigationBar appearance] titleTextAttributes]]; 21 | [titleBarAttributes setValue:[UIFont boldSystemFontOfSize:20.0f] forKey:NSFontAttributeName]; 22 | [titleBarAttributes setValue:[UIColor whiteColor] forKey:NSForegroundColorAttributeName]; 23 | [[UINavigationBar appearance] setTitleTextAttributes:titleBarAttributes]; 24 | [[UINavigationBar appearance] setBarTintColor:[UIColor purpleColor]]; 25 | 26 | // Init Controller 27 | 28 | LPMainViewController *mainViewController = [[LPMainViewController alloc] initWithNibName:@"LPMainViewController" bundle:nil]; 29 | UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:mainViewController]; 30 | self.window.rootViewController = navigationController; 31 | 32 | [self.window makeKeyAndVisible]; 33 | 34 | return YES; 35 | } 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/Application/LPAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPAppDelegate.m 3 | // LPPlacesAutocompleteService 4 | // 5 | // Created by Luka Penger on 27/10/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import "LPAppDelegate.h" 10 | 11 | 12 | @implementation LPAppDelegate 13 | 14 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 15 | { 16 | self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 17 | 18 | // UINavigationBar style 19 | 20 | NSMutableDictionary *titleBarAttributes = [NSMutableDictionary dictionaryWithDictionary: [[UINavigationBar appearance] titleTextAttributes]]; 21 | [titleBarAttributes setValue:[UIFont boldSystemFontOfSize:20.0f] forKey:NSFontAttributeName]; 22 | [titleBarAttributes setValue:[UIColor whiteColor] forKey:NSForegroundColorAttributeName]; 23 | [[UINavigationBar appearance] setTitleTextAttributes:titleBarAttributes]; 24 | [[UINavigationBar appearance] setBarTintColor:[UIColor purpleColor]]; 25 | 26 | // Init Controller 27 | 28 | LPMainViewController *mainViewController = [[LPMainViewController alloc] initWithNibName:@"LPMainViewController" bundle:nil]; 29 | UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:mainViewController]; 30 | self.window.rootViewController = navigationController; 31 | 32 | [self.window makeKeyAndVisible]; 33 | 34 | return YES; 35 | } 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPStep.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPStep.h 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPDistance.h" 10 | #import "LPDuration.h" 11 | #import "LPLocation.h" 12 | #import "LPPolyline.h" 13 | #import "LPTransitDetails.h" 14 | 15 | 16 | typedef enum { 17 | LPGoogleDirectionsTravelModeDriving, 18 | LPGoogleDirectionsTravelModeWalking, 19 | LPGoogleDirectionsTravelModeBicycling, 20 | LPGoogleDirectionsTravelModeTransit 21 | } LPGoogleDirectionsTravelMode; 22 | 23 | 24 | @interface LPStep : NSObject 25 | 26 | @property (nonatomic, strong) NSString *maneuver; 27 | @property (nonatomic, strong) LPDistance *distance; 28 | @property (nonatomic, strong) LPDuration *duration; 29 | @property (nonatomic, strong) LPLocation *endLocation; 30 | @property (nonatomic, strong) NSString *htmlInstructions; 31 | @property (nonatomic, strong) LPPolyline *polyline; 32 | @property (nonatomic, strong) LPLocation *startLocation; 33 | @property (nonatomic, assign) LPGoogleDirectionsTravelMode travelMode; 34 | @property (nonatomic, strong) NSArray *subSteps; 35 | @property (nonatomic, strong) LPTransitDetails *transitDetails; 36 | 37 | + (LPGoogleDirectionsTravelMode)getDirectionsTravelModeFromString:(NSString *)string; 38 | + (NSString *)getDirectionsTravelMode:(LPGoogleDirectionsTravelMode)travelMode; 39 | 40 | + (id)stepWithObjects:(NSDictionary *)dictionary; 41 | 42 | - (NSDictionary *)dictionary; 43 | 44 | - (id)copyWithZone:(NSZone *)zone; 45 | 46 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/AQGoogleSignature/LPURLSigner.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPURLSigner.m 3 | // LPDistanceMatrixService 4 | // 5 | // Created by Abdul Qavi on 03/06/2016. 6 | // Copyright © 2016 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import "LPURLSigner.h" 10 | 11 | #import 12 | #import 13 | #import "GTMStringEncoding.h" 14 | 15 | @implementation LPURLSigner 16 | 17 | + (LPURLSigner *)sharedManager { 18 | static LPURLSigner *_sharedManager = nil; 19 | _sharedManager = [[LPURLSigner alloc] init]; 20 | return _sharedManager; 21 | } 22 | 23 | - (NSString *)createSignatureWithHMAC_SHA1:(NSString *)url key:(NSString *)key { 24 | 25 | // Stores the url in a NSData. 26 | NSData *urlData = [url dataUsingEncoding: NSASCIIStringEncoding]; 27 | 28 | // URL-safe Base64 coder/decoder. 29 | GTMStringEncoding *encoding = 30 | [GTMStringEncoding rfc4648Base64WebsafeStringEncoding]; 31 | 32 | // Decodes the URL-safe Base64 key to binary. 33 | NSData *binaryKey = [encoding decode:key]; 34 | 35 | // Signs the URL. 36 | unsigned char result[CC_SHA1_DIGEST_LENGTH]; 37 | CCHmac(kCCHmacAlgSHA1, 38 | [binaryKey bytes], [binaryKey length], 39 | [urlData bytes], [urlData length], 40 | &result); 41 | NSData *binarySignature = 42 | [NSData dataWithBytes:&result length:CC_SHA1_DIGEST_LENGTH]; 43 | 44 | // Encodes the signature to URL-safe Base64. 45 | NSString *signature = [encoding encode:binarySignature]; 46 | 47 | return signature; 48 | 49 | } 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPPlaceDetails.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPPlaceDetails.h 3 | // 4 | // Created by Luka Penger on 7/26/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import 9 | #import "LPGeometry.h" 10 | #import "LPAddressComponent.h" 11 | #import "LPPlacePhoto.h" 12 | #import "LPEvent.h" 13 | 14 | 15 | typedef enum { 16 | LPGooglePriceLevelFree, 17 | LPGooglePriceLevelInexpensive, 18 | LPGooglePriceLevelModerate, 19 | LPGooglePriceLevelExpensive, 20 | LPGooglePriceLevelVeryExpensive 21 | } LPGooglePriceLevel; 22 | 23 | 24 | @interface LPPlaceDetails : NSObject 25 | 26 | @property (nonatomic, strong) NSArray *addressComponents; 27 | @property (nonatomic, strong) NSString *adrAddress; 28 | @property (nonatomic, strong) NSString *formattedAddress; 29 | @property (nonatomic, strong) LPGeometry *geometry; 30 | @property (nonatomic, strong) NSString *icon; 31 | @property (nonatomic, strong) NSString *ID; 32 | @property (nonatomic, strong) NSString *name; 33 | @property (nonatomic, strong) NSString *reference; 34 | @property (nonatomic, strong) NSArray *types; 35 | @property (nonatomic, strong) NSString *url; 36 | @property (nonatomic, strong) NSArray *vicinity; 37 | @property (nonatomic, strong) NSArray *photos; 38 | @property (nonatomic, assign) LPGooglePriceLevel priceLevel; 39 | @property (nonatomic, assign) float rating; 40 | @property (nonatomic, strong) NSArray *events; 41 | 42 | + (id)placeDetailsWithObjects:(NSDictionary *)dictionary; 43 | 44 | - (NSDictionary *)dictionary; 45 | 46 | - (id)copyWithZone:(NSZone *)zone; 47 | 48 | @end -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService/Classes/LPMainViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPMainViewController.m 3 | // LPPlacesAutocomplateService 4 | // 5 | // Created by Luka Penger on 8/21/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import "LPMainViewController.h" 10 | 11 | 12 | NSString *const googleAPIBrowserKey = @""; 13 | 14 | 15 | @interface LPMainViewController () 16 | 17 | @property (nonatomic, strong) LPGoogleFunctions *googleFunctions; 18 | 19 | @end 20 | 21 | 22 | @implementation LPMainViewController 23 | 24 | #pragma mark - Lifecycle 25 | 26 | - (void)viewDidLoad 27 | { 28 | [super viewDidLoad]; 29 | 30 | self.title = @"Speak Service"; 31 | } 32 | 33 | - (void)viewDidAppear:(BOOL)animated 34 | { 35 | [super viewDidAppear:animated]; 36 | 37 | } 38 | 39 | - (void)viewDidDisappear:(BOOL)animated 40 | { 41 | [super viewDidDisappear:animated]; 42 | 43 | } 44 | 45 | #pragma mark - LPGoogleFunctions 46 | 47 | - (LPGoogleFunctions *)googleFunctions 48 | { 49 | if (!_googleFunctions) { 50 | _googleFunctions = [LPGoogleFunctions new]; 51 | _googleFunctions.googleAPIBrowserKey = googleAPIBrowserKey; 52 | _googleFunctions.delegate = self; 53 | _googleFunctions.sensor = YES; 54 | _googleFunctions.languageCode = @"en"; 55 | } 56 | return _googleFunctions; 57 | } 58 | 59 | #pragma mark - Actions 60 | 61 | - (IBAction)speakButtonClicked:(id)sender 62 | { 63 | [self.googleFunctions speakText:self.textField.text failureBlock:^(NSError *error) { 64 | NSLog(@"Failure - Block: %@", error.description); 65 | }]; 66 | } 67 | 68 | @end -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata/ 19 | 20 | ## Other 21 | *.moved-aside 22 | *.xcuserstate 23 | 24 | .DS_Store 25 | 26 | ## Obj-C/Swift specific 27 | *.hmap 28 | *.ipa 29 | *.dSYM.zip 30 | *.dSYM 31 | 32 | # CocoaPods 33 | # 34 | # We recommend against adding the Pods directory to your .gitignore. However 35 | # you should judge for yourself, the pros and cons are mentioned at: 36 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 37 | # 38 | # Pods/ 39 | 40 | # Carthage 41 | # 42 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 43 | # Carthage/Checkouts 44 | 45 | Carthage/Build 46 | 47 | # fastlane 48 | # 49 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 50 | # screenshots whenever they are needed. 51 | # For more information about the recommended setup visit: 52 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md 53 | 54 | fastlane/report.xml 55 | fastlane/Preview.html 56 | fastlane/screenshots 57 | fastlane/test_output 58 | 59 | # Code Injection 60 | # 61 | # After new code Injection tools there's a generated folder /iOSInjectionProject 62 | # https://github.com/johnno1962/injectionforxcode 63 | 64 | iOSInjectionProject/ -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/Libraries/LPImage/LPImage.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPImage.h 3 | // 4 | // Created by Luka Penger on 01/05/14. 5 | // Copyright (c) 2014 Luka Penger. All rights reserved. 6 | // 7 | 8 | // This code is distributed under the terms and conditions of the MIT license. 9 | 10 | // Copyright (c) 2014 Luka Penger 11 | // 12 | // Permission is hereby granted, free of charge, to any person obtaining a copy 13 | // of this software and associated documentation files (the "Software"), to deal 14 | // in the Software without restriction, including without limitation the rights 15 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 16 | // copies of the Software, and to permit persons to whom the Software is 17 | // furnished to do so, subject to the following conditions: 18 | // 19 | // The above copyright notice and this permission notice shall be included in 20 | // all copies or substantial portions of the Software. 21 | // 22 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 23 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 25 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 26 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 27 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 28 | // THE SOFTWARE. 29 | 30 | #import 31 | 32 | 33 | @interface UIImage (LPImage) 34 | 35 | - (UIImage *)imageTintedWithColor:(UIColor *)color; 36 | - (UIImage *)changeImageSize:(CGSize)newSize; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService.xcodeproj/project.xcworkspace/xcshareddata/LPSpeakService.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | 4F97BB67-80BD-459A-901B-9D9F24F5D344 9 | IDESourceControlProjectName 10 | LPSpeakService 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | BF3D61F066F1A152220DB57815C43C3C5FB4EC0E 14 | https://github.com/ndleon09/LPGoogleFunctions 15 | 16 | IDESourceControlProjectPath 17 | Examples/LPSpeakService/LPSpeakService.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | BF3D61F066F1A152220DB57815C43C3C5FB4EC0E 21 | ../../../.. 22 | 23 | IDESourceControlProjectURL 24 | https://github.com/ndleon09/LPGoogleFunctions 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | BF3D61F066F1A152220DB57815C43C3C5FB4EC0E 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | BF3D61F066F1A152220DB57815C43C3C5FB4EC0E 36 | IDESourceControlWCCName 37 | LPGoogleFunctions 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService.xcodeproj/project.xcworkspace/xcshareddata/LPDistanceMatrixService.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | DFDDBBDA-C527-4E53-80F4-588E5403211D 9 | IDESourceControlProjectName 10 | LPDistanceMatrixService 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | BF3D61F066F1A152220DB57815C43C3C5FB4EC0E 14 | https://github.com/ndleon09/LPGoogleFunctions 15 | 16 | IDESourceControlProjectPath 17 | Examples/LPDistanceMatrixService/LPDistanceMatrixService.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | BF3D61F066F1A152220DB57815C43C3C5FB4EC0E 21 | ../../../.. 22 | 23 | IDESourceControlProjectURL 24 | https://github.com/ndleon09/LPGoogleFunctions 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | BF3D61F066F1A152220DB57815C43C3C5FB4EC0E 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | BF3D61F066F1A152220DB57815C43C3C5FB4EC0E 36 | IDESourceControlWCCName 37 | LPGoogleFunctions 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPDistanceMatrix.h: -------------------------------------------------------------------------------- 1 | // 2 | // LPDistanceMatrix.h 3 | // ChargeJuice 4 | // 5 | // Created by Luka Penger on 13/07/14. 6 | // Copyright (c) 2014 izzivizzi. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LPDistanceMatrixElement.h" 11 | 12 | 13 | typedef enum { 14 | LPGoogleDistanceMatrixAvoidNone, 15 | LPGoogleDistanceMatrixAvoidTolls, 16 | LPGoogleDistanceMatrixAvoidHighways, 17 | LPGoogleDistanceMatrixAvoidFerries, 18 | LPGoogleDistanceMatrixAvoidIndoor 19 | } LPGoogleDistanceMatrixAvoid; 20 | 21 | typedef enum { 22 | LPGoogleDistanceMatrixUnitMetric, 23 | LPGoogleDistanceMatrixUnitImperial 24 | } LPGoogleDistanceMatrixUnit; 25 | 26 | typedef enum { 27 | LPGoogleDistanceMatrixModeDriving, 28 | LPGoogleDistanceMatrixModeWalking, 29 | LPGoogleDistanceMatrixModeBicycling, 30 | LPGoogleDistanceMatrixModeTransit 31 | } LPGoogleDistanceMatrixTravelMode; 32 | 33 | @interface LPDistanceMatrix : NSObject 34 | 35 | @property (nonatomic, strong) NSString *statusCode; 36 | @property (nonatomic, assign) LPGoogleDistanceMatrixTravelMode requestTravelMode; 37 | @property (nonatomic, strong) NSArray *destinationAddresses; 38 | @property (nonatomic, strong) NSArray *originAddresses; 39 | @property (nonatomic, strong) NSArray *rows; 40 | 41 | + (id)distanceMatrixWithObjects:(NSDictionary *)dictionary; 42 | 43 | - (NSDictionary *)dictionary; 44 | 45 | - (id)copyWithZone:(NSZone *)zone; 46 | 47 | + (LPGoogleDistanceMatrixTravelMode)getDistanceMatrixTravelModeFromString:(NSString *)string; 48 | + (NSString *)getDistanceMatrixTravelMode:(LPGoogleDistanceMatrixTravelMode)travelMode; 49 | 50 | + (NSString *)getDistanceMatrixAvoid:(LPGoogleDistanceMatrixAvoid)avoid; 51 | + (NSString *)getDistanceMatrixUnit:(LPGoogleDistanceMatrixUnit)unit; 52 | 53 | @end 54 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService.xcodeproj/project.xcworkspace/xcshareddata/LPStaticMapImagesService.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | 9987D63B-6DE7-4C22-B712-86BA52BBF4DA 9 | IDESourceControlProjectName 10 | LPStaticMapImagesService 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 5B442C85-26B9-45B4-B17B-3F8E46063F74 14 | ssh://github.com/luka1995/LPGoogleFunctions.git 15 | 16 | IDESourceControlProjectPath 17 | Examples/LPStaticMapImagesService/LPStaticMapImagesService.xcodeproj/project.xcworkspace 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 5B442C85-26B9-45B4-B17B-3F8E46063F74 21 | ../../../.. 22 | 23 | IDESourceControlProjectURL 24 | ssh://github.com/luka1995/LPGoogleFunctions.git 25 | IDESourceControlProjectVersion 26 | 110 27 | IDESourceControlProjectWCCIdentifier 28 | 5B442C85-26B9-45B4-B17B-3F8E46063F74 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 5B442C85-26B9-45B4-B17B-3F8E46063F74 36 | IDESourceControlWCCName 37 | LPGoogleFunctions 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj/project.xcworkspace/xcshareddata/LPStreetViewImagesService.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | 5E5833D4-911F-4EB1-A071-2F3A8ACDFEAA 9 | IDESourceControlProjectName 10 | LPStreetViewImagesService 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | BF3D61F066F1A152220DB57815C43C3C5FB4EC0E 14 | https://github.com/ndleon09/LPGoogleFunctions 15 | 16 | IDESourceControlProjectPath 17 | Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | BF3D61F066F1A152220DB57815C43C3C5FB4EC0E 21 | ../../../.. 22 | 23 | IDESourceControlProjectURL 24 | https://github.com/ndleon09/LPGoogleFunctions 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | BF3D61F066F1A152220DB57815C43C3C5FB4EC0E 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | BF3D61F066F1A152220DB57815C43C3C5FB4EC0E 36 | IDESourceControlWCCName 37 | LPGoogleFunctions 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Examples/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIKit+AFNetworking.h 2 | // 3 | // Copyright (c) 2013 AFNetworking (http://afnetworking.com/) 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #import 24 | 25 | #ifndef _UIKIT_AFNETWORKING_ 26 | #define _UIKIT_AFNETWORKING_ 27 | 28 | #import "AFNetworkActivityIndicatorManager.h" 29 | 30 | #import "UIActivityIndicatorView+AFNetworking.h" 31 | #import "UIAlertView+AFNetworking.h" 32 | #import "UIButton+AFNetworking.h" 33 | #import "UIImageView+AFNetworking.h" 34 | #import "UIKit+AFNetworking.h" 35 | #import "UIProgressView+AFNetworking.h" 36 | #import "UIRefreshControl+AFNetworking.h" 37 | #import "UIWebView+AFNetworking.h" 38 | #endif /* _UIKIT_AFNETWORKING_ */ 39 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService.xcodeproj/project.xcworkspace/xcshareddata/LPPlacesAutocompleteService.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | 6FE89485-E04B-4348-9CB6-3A86BEE6C2B7 9 | IDESourceControlProjectName 10 | LPPlacesAutocompleteService 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 5B442C85-26B9-45B4-B17B-3F8E46063F74 14 | ssh://github.com/luka1995/LPGoogleFunctions.git 15 | 16 | IDESourceControlProjectPath 17 | Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService.xcodeproj/project.xcworkspace 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 5B442C85-26B9-45B4-B17B-3F8E46063F74 21 | ../../../.. 22 | 23 | IDESourceControlProjectURL 24 | ssh://github.com/luka1995/LPGoogleFunctions.git 25 | IDESourceControlProjectVersion 26 | 110 27 | IDESourceControlProjectWCCIdentifier 28 | 5B442C85-26B9-45B4-B17B-3F8E46063F74 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 5B442C85-26B9-45B4-B17B-3F8E46063F74 36 | IDESourceControlWCCName 37 | LPGoogleFunctions 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPDistance.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPDistance.m 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPDistance.h" 9 | 10 | 11 | @implementation LPDistance 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPDistance new]; 16 | if (self) { 17 | self.text = [coder decodeObjectForKey:@"text"]; 18 | self.value = [coder decodeIntForKey:@"value"]; 19 | } 20 | 21 | return self; 22 | } 23 | 24 | - (void)encodeWithCoder:(NSCoder *)coder 25 | { 26 | [coder encodeObject:self.text forKey:@"text"]; 27 | [coder encodeInt:self.value forKey:@"value"]; 28 | } 29 | 30 | + (id)distanceWithObjects:(NSDictionary *)dictionary 31 | { 32 | LPDistance *new = [LPDistance new]; 33 | 34 | if (![dictionary isKindOfClass:[NSNull class]]) { 35 | if (![[dictionary objectForKey:@"text"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"text"]) { 36 | new.text = [NSString stringWithFormat:@"%@", [dictionary objectForKey:@"text"]]; 37 | } 38 | 39 | if (![[dictionary objectForKey:@"value"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"value"]) { 40 | new.value = [[dictionary objectForKey:@"value"] intValue]; 41 | } 42 | } 43 | 44 | return new; 45 | } 46 | 47 | - (NSDictionary *)dictionary 48 | { 49 | NSDictionary *dictionary = [self dictionaryWithValuesForKeys:[NSArray arrayWithObjects:@"text", @"value", nil]]; 50 | 51 | return dictionary; 52 | } 53 | 54 | - (NSString *)description 55 | { 56 | return [self dictionary].description; 57 | } 58 | 59 | - (id)copyWithZone:(NSZone *)zone 60 | { 61 | LPDistance *new = [LPDistance new]; 62 | 63 | [new setText:[self text]]; 64 | [new setValue:[self value]]; 65 | 66 | return new; 67 | } 68 | 69 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPTerm.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPTerm.m 3 | // 4 | // Created by Luka Penger on 7/7/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPTerm.h" 9 | 10 | 11 | @implementation LPTerm 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPTerm new]; 16 | if (self) { 17 | self.value = [coder decodeObjectForKey:@"value"]; 18 | self.offset = [coder decodeIntForKey:@"offset"]; 19 | } 20 | 21 | return self; 22 | } 23 | 24 | - (void)encodeWithCoder:(NSCoder *)coder 25 | { 26 | [coder encodeObject:self.value forKey:@"value"]; 27 | [coder encodeInt:self.offset forKey:@"offset"]; 28 | } 29 | 30 | + (id)termWithObjects:(NSDictionary *)dictionary 31 | { 32 | LPTerm *new = [LPTerm new]; 33 | 34 | if (![dictionary isKindOfClass:[NSNull class]]) { 35 | if (![[dictionary objectForKey:@"value"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"value"]) { 36 | new.value=[dictionary objectForKey:@"value"]; 37 | } 38 | 39 | if (![[dictionary objectForKey:@"offset"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"offset"]) { 40 | new.offset=[[dictionary objectForKey:@"offset"] intValue]; 41 | } 42 | } 43 | 44 | return new; 45 | } 46 | 47 | - (NSDictionary *)dictionary 48 | { 49 | NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithDictionary:[self dictionaryWithValuesForKeys:[NSArray arrayWithObjects:@"value", @"offset", nil]]]; 50 | 51 | return dictionary; 52 | } 53 | 54 | - (NSString *)description 55 | { 56 | return [self dictionary].description; 57 | } 58 | 59 | - (id)copyWithZone:(NSZone *)zone 60 | { 61 | LPTerm *new = [LPTerm new]; 62 | 63 | [new setValue:[self value]]; 64 | [new setOffset:[self offset]]; 65 | 66 | return new; 67 | } 68 | 69 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPDuration.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPDuration.m 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPDuration.h" 9 | 10 | 11 | @implementation LPDuration 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPDuration new]; 16 | if (self) 17 | { 18 | self.text = [coder decodeObjectForKey:@"text"]; 19 | self.value = [coder decodeIntForKey:@"value"]; 20 | } 21 | 22 | return self; 23 | } 24 | 25 | - (void)encodeWithCoder:(NSCoder *)coder 26 | { 27 | [coder encodeObject:self.text forKey:@"text"]; 28 | [coder encodeInt:self.value forKey:@"value"]; 29 | } 30 | 31 | + (id)durationWithObjects:(NSDictionary *)dictionary 32 | { 33 | LPDuration *new = [LPDuration new]; 34 | 35 | if (![dictionary isKindOfClass:[NSNull class]]) { 36 | if (![[dictionary objectForKey:@"text"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"text"]) { 37 | new.text = [NSString stringWithFormat:@"%@", [dictionary objectForKey:@"text"]]; 38 | } 39 | 40 | if (![[dictionary objectForKey:@"value"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"value"]) { 41 | new.value = [[dictionary objectForKey:@"value"] intValue]; 42 | } 43 | } 44 | 45 | return new; 46 | } 47 | 48 | - (NSDictionary *)dictionary 49 | { 50 | NSDictionary *dictionary = [self dictionaryWithValuesForKeys:[NSArray arrayWithObjects:@"text", @"value", nil]]; 51 | 52 | return dictionary; 53 | } 54 | 55 | - (NSString *)description 56 | { 57 | return [self dictionary].description; 58 | } 59 | 60 | - (id)copyWithZone:(NSZone *)zone 61 | { 62 | LPDuration *new = [LPDuration new]; 63 | 64 | [new setText:[self text]]; 65 | [new setValue:[self value]]; 66 | 67 | return new; 68 | } 69 | 70 | @end 71 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPAgencie.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPAgencie.m 3 | // 4 | // Created by Luka Penger on 7/27/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPAgencie.h" 9 | 10 | 11 | @implementation LPAgencie 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPAgencie new]; 16 | if (self) { 17 | self.name = [coder decodeObjectForKey:@"name"]; 18 | self.url = [coder decodeObjectForKey:@"url"]; 19 | } 20 | 21 | return self; 22 | } 23 | 24 | - (void)encodeWithCoder:(NSCoder *)coder 25 | { 26 | [coder encodeObject:self.name forKey:@"name"]; 27 | [coder encodeObject:self.url forKey:@"url"]; 28 | } 29 | 30 | + (id)agencieWithObjects:(NSDictionary *)dictionary 31 | { 32 | LPAgencie *new = [LPAgencie new]; 33 | 34 | if (![dictionary isKindOfClass:[NSNull class]]) { 35 | if (![[dictionary objectForKey:@"name"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"name"]) { 36 | new.name = [dictionary objectForKey:@"name"]; 37 | } 38 | 39 | if (![[dictionary objectForKey:@"url"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"url"]) { 40 | new.url = [dictionary objectForKey:@"url"]; 41 | } 42 | } 43 | 44 | return new; 45 | } 46 | 47 | - (NSDictionary *)dictionary 48 | { 49 | NSMutableDictionary *dictionary = [NSMutableDictionary new]; 50 | 51 | [dictionary setObject:[NSString stringWithFormat:@"%@", self.name] forKey:@"name"]; 52 | [dictionary setObject:[NSString stringWithFormat:@"%@", self.url] forKey:@"url"]; 53 | 54 | return dictionary; 55 | } 56 | 57 | - (NSString *)description 58 | { 59 | return [self dictionary].description; 60 | } 61 | 62 | - (id)copyWithZone:(NSZone *)zone 63 | { 64 | LPAgencie *new = [LPAgencie new]; 65 | 66 | [new setName:[self name]]; 67 | [new setUrl:[self url]]; 68 | 69 | return new; 70 | } 71 | 72 | @end -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService/Views/LPMainViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPMatchedSubstring.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPMatchedSubstring.m 3 | // 4 | // Created by Luka Penger on 7/7/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPMatchedSubstring.h" 9 | 10 | 11 | @implementation LPMatchedSubstring 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPMatchedSubstring new]; 16 | if (self) { 17 | self.length = [coder decodeIntForKey:@"length"]; 18 | self.offset = [coder decodeIntForKey:@"offset"]; 19 | } 20 | 21 | return self; 22 | } 23 | 24 | - (void)encodeWithCoder:(NSCoder *)coder 25 | { 26 | [coder encodeInt:self.length forKey:@"length"]; 27 | [coder encodeInt:self.offset forKey:@"offset"]; 28 | } 29 | 30 | + (id)matchedSubstringWithObjects:(NSDictionary *)dictionary 31 | { 32 | LPMatchedSubstring *new = [LPMatchedSubstring new]; 33 | 34 | if (![dictionary isKindOfClass:[NSNull class]]) { 35 | if (![[dictionary objectForKey:@"length"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"length"]) { 36 | new.length = [[dictionary objectForKey:@"length"] intValue]; 37 | } 38 | 39 | if (![[dictionary objectForKey:@"offset"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"offset"]) { 40 | new.offset = [[dictionary objectForKey:@"offset"] intValue]; 41 | } 42 | } 43 | 44 | return new; 45 | } 46 | 47 | - (NSDictionary *)dictionary 48 | { 49 | NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithDictionary:[self dictionaryWithValuesForKeys:[NSArray arrayWithObjects:@"length", @"offset", nil]]]; 50 | 51 | return dictionary; 52 | } 53 | 54 | - (NSString *)description 55 | { 56 | return [self dictionary].description; 57 | } 58 | 59 | - (id)copyWithZone:(NSZone *)zone 60 | { 61 | LPMatchedSubstring *new = [LPMatchedSubstring new]; 62 | 63 | [new setLength:[self length]]; 64 | [new setOffset:[self offset]]; 65 | 66 | return new; 67 | } 68 | 69 | @end 70 | -------------------------------------------------------------------------------- /Examples/AFNetworking/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | // AFNetworking.h 2 | // 3 | // Copyright (c) 2013 AFNetworking (http://afnetworking.com/) 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #import 24 | #import 25 | 26 | #ifndef _AFNETWORKING_ 27 | #define _AFNETWORKING_ 28 | 29 | #import "AFURLRequestSerialization.h" 30 | #import "AFURLResponseSerialization.h" 31 | #import "AFSecurityPolicy.h" 32 | #import "AFNetworkReachabilityManager.h" 33 | 34 | #import "AFURLConnectionOperation.h" 35 | #import "AFHTTPRequestOperation.h" 36 | #import "AFHTTPRequestOperationManager.h" 37 | 38 | #if ( ( defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 1090) || \ 39 | ( defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 ) ) 40 | #import "AFURLSessionManager.h" 41 | #import "AFHTTPSessionManager.h" 42 | #endif 43 | 44 | #endif /* _AFNETWORKING_ */ 45 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService/Views/LPMainViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService/Classes/LPMainViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPMainViewController.m 3 | // LPStreetViewImagesService 4 | // 5 | // Created by Luka Penger on 8/20/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import "LPMainViewController.h" 10 | 11 | 12 | NSString *const googleAPIBrowserKey = @""; 13 | 14 | 15 | @interface LPMainViewController () 16 | 17 | @property (nonatomic, strong) LPGoogleFunctions *googleFunctions; 18 | 19 | @end 20 | 21 | 22 | @implementation LPMainViewController 23 | 24 | #pragma mark - Lifecycle 25 | 26 | - (void)viewDidLoad 27 | { 28 | [super viewDidLoad]; 29 | 30 | self.title = @"Street View"; 31 | 32 | // For Address 33 | 34 | [self.googleFunctions loadStreetViewImageForAddress:@"London" imageSize:CGSizeMake(self.imageView.frame.size.width,self.imageView.frame.size.height) heading:0 fov:120 pitch:0 successfulBlock:^(UIImage *image) { 35 | 36 | [self.imageView setImage:image]; 37 | 38 | } failureBlock:^(NSError *error) { 39 | NSLog(@"Error: %@",error); 40 | }]; 41 | 42 | //For Location 43 | /* 44 | [self.googleFunctions loadStreetViewImageForLocation:[LPLocation locationWithLatitude:40.457375 longitude:-80.009353] imageSize:CGSizeMake(self.imageView.frame.size.width,self.imageView.frame.size.height) heading:0 fov:120 pitch:0 successfulBlock:^(UIImage *image) { 45 | 46 | [self.imageView setImage:image]; 47 | 48 | } failureBlock:^(NSError *error) { 49 | 50 | NSLog(@"Error: %@",error); 51 | 52 | }];*/ 53 | } 54 | 55 | #pragma mark - LPGoogleFunctions 56 | 57 | - (LPGoogleFunctions *)googleFunctions 58 | { 59 | if (!_googleFunctions) { 60 | _googleFunctions = [LPGoogleFunctions new]; 61 | _googleFunctions.googleAPIBrowserKey = googleAPIBrowserKey; 62 | _googleFunctions.delegate = self; 63 | _googleFunctions.sensor = YES; 64 | _googleFunctions.languageCode = @"en"; 65 | } 66 | return _googleFunctions; 67 | } 68 | 69 | @end 70 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPStop.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPStop.m 3 | // 4 | // Created by Luka Penger on 7/27/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPStop.h" 9 | 10 | 11 | @implementation LPStop 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPStop new]; 16 | if (self) { 17 | self.location = [coder decodeObjectForKey:@"location"]; 18 | self.name = [coder decodeObjectForKey:@"name"]; 19 | } 20 | 21 | return self; 22 | } 23 | 24 | - (void)encodeWithCoder:(NSCoder *)coder 25 | { 26 | [coder encodeObject:self.location forKey:@"location"]; 27 | [coder encodeObject:self.name forKey:@"name"]; 28 | } 29 | 30 | + (id)stopWithObjects:(NSDictionary *)dictionary 31 | { 32 | LPStop *new = [LPStop new]; 33 | 34 | if (![dictionary isKindOfClass:[NSNull class]]) { 35 | if (![[dictionary objectForKey:@"location"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"location"]) { 36 | new.location = [LPLocation locationWithObjects:[dictionary objectForKey:@"location"]]; 37 | } 38 | 39 | if (![[dictionary objectForKey:@"name"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"name"]) { 40 | new.name = [dictionary objectForKey:@"name"]; 41 | } 42 | } 43 | 44 | return new; 45 | } 46 | 47 | - (NSDictionary *)dictionary 48 | { 49 | NSMutableDictionary *dictionary = [NSMutableDictionary new]; 50 | 51 | if (self.location && ![self.location isKindOfClass:[NSNull class]]) { 52 | [dictionary setObject:self.location.dictionary forKey:@"location"]; 53 | } 54 | 55 | [dictionary setObject:[NSString stringWithFormat:@"%@", self.name] forKey:@"name"]; 56 | 57 | return dictionary; 58 | } 59 | 60 | - (NSString *)description 61 | { 62 | return [self dictionary].description; 63 | } 64 | 65 | - (id)copyWithZone:(NSZone *)zone 66 | { 67 | LPStop *new = [LPStop new]; 68 | 69 | [new setLocation:[self location]]; 70 | [new setName:[self name]]; 71 | 72 | return new; 73 | } 74 | 75 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPLocation.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPLocation.m 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPLocation.h" 9 | 10 | 11 | @implementation LPLocation 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPLocation new]; 16 | if (self) { 17 | self.longitude = [coder decodeDoubleForKey:@"longitude"]; 18 | self.latitude = [coder decodeDoubleForKey:@"latitude"]; 19 | } 20 | 21 | return self; 22 | } 23 | 24 | - (void)encodeWithCoder:(NSCoder *)coder 25 | { 26 | [coder encodeDouble:self.longitude forKey:@"longitude"]; 27 | [coder encodeDouble:self.latitude forKey:@"latitude"]; 28 | } 29 | 30 | + (id)locationWithObjects:(NSDictionary *)dictionary 31 | { 32 | LPLocation *new = [LPLocation new]; 33 | 34 | if (![dictionary isKindOfClass:[NSNull class]]) { 35 | if (![[dictionary objectForKey:@"lat"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"lat"]) { 36 | new.latitude = [[dictionary objectForKey:@"lat"] doubleValue]; 37 | } 38 | 39 | if (![[dictionary objectForKey:@"lng"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"lng"]) { 40 | new.longitude = [[dictionary objectForKey:@"lng"] doubleValue]; 41 | } 42 | } 43 | 44 | return new; 45 | } 46 | 47 | + (id)locationWithLatitude:(double)latitude longitude:(double)longitude 48 | { 49 | LPLocation *new = [LPLocation new]; 50 | 51 | new.latitude = latitude; 52 | new.longitude = longitude; 53 | 54 | return new; 55 | } 56 | 57 | - (NSDictionary *)dictionary 58 | { 59 | NSDictionary *dictionary = [self dictionaryWithValuesForKeys:[NSArray arrayWithObjects:@"latitude", @"longitude", nil]]; 60 | 61 | return dictionary; 62 | } 63 | 64 | - (NSString *)description 65 | { 66 | return [self dictionary].description; 67 | } 68 | 69 | - (id)copyWithZone:(NSZone *)zone 70 | { 71 | LPLocation *new = [LPLocation new]; 72 | 73 | [new setLatitude:[self latitude]]; 74 | [new setLongitude:[self longitude]]; 75 | 76 | return new; 77 | } 78 | 79 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPGeocodingFilter.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPGeocodingFilter.m 3 | // 4 | // Created by Luka Penger on 7/28/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPGeocodingFilter.h" 9 | 10 | 11 | @implementation LPGeocodingFilter 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPGeocodingFilter new]; 16 | if (self) { 17 | self.filter = [coder decodeIntForKey:@"filter"]; 18 | self.value = [coder decodeObjectForKey:@"value"]; 19 | } 20 | 21 | return self; 22 | } 23 | 24 | - (void)encodeWithCoder:(NSCoder *)coder 25 | { 26 | [coder encodeInt:self.filter forKey:@"filter"]; 27 | [coder encodeObject:self.value forKey:@"value"]; 28 | } 29 | 30 | + (id)filterWithGeocodingFilter:(LPGeocodingFilterMode)filter value:(NSString *)value 31 | { 32 | LPGeocodingFilter *new = [LPGeocodingFilter new]; 33 | 34 | new.filter = filter; 35 | new.value = value; 36 | 37 | return new; 38 | } 39 | 40 | - (NSDictionary *)dictionary 41 | { 42 | NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithDictionary:[self dictionaryWithValuesForKeys:[NSArray arrayWithObjects:@"value", nil]]]; 43 | 44 | [dictionary setObject:[NSString stringWithFormat:@"%@", [LPGeocodingFilter getGeocodingFilter:self.filter]] forKey:@"filter"]; 45 | 46 | return dictionary; 47 | } 48 | 49 | - (NSString *)description 50 | { 51 | return [self dictionary].description; 52 | } 53 | 54 | + (NSString *)getGeocodingFilter:(LPGeocodingFilterMode)filter 55 | { 56 | if(filter == LPGeocodingFilterRoute) 57 | { 58 | return @"route"; 59 | } else if(filter == LPGeocodingFilterPostal_code) { 60 | return @"postal_code"; 61 | } else if(filter == LPGeocodingFilterLocality) { 62 | return @"locality"; 63 | } else if(filter == LPGeocodingFilterAdministrative_area) { 64 | return @"administrative_area"; 65 | } else { 66 | return @"country"; 67 | } 68 | } 69 | 70 | - (id)copyWithZone:(NSZone *)zone 71 | { 72 | LPGeocodingFilter *new = [LPGeocodingFilter new]; 73 | 74 | [new setFilter:[self filter]]; 75 | [new setValue:[self value]]; 76 | 77 | return new; 78 | } 79 | 80 | @end 81 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPGeometry.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPGeometry.m 3 | // 4 | // Created by Luka Penger on 7/26/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPGeometry.h" 9 | 10 | 11 | @implementation LPGeometry 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPGeometry new]; 16 | if (self) { 17 | self.location = [coder decodeObjectForKey:@"location"]; 18 | self.viewport = [coder decodeObjectForKey:@"viewport"]; 19 | } 20 | 21 | return self; 22 | } 23 | 24 | - (void)encodeWithCoder:(NSCoder *)coder 25 | { 26 | [coder encodeObject:self.location forKey:@"location"]; 27 | [coder encodeObject:self.viewport forKey:@"viewport"]; 28 | } 29 | 30 | + (id)geometryWithObjects:(NSDictionary *)dictionary 31 | { 32 | LPGeometry *new = [LPGeometry new]; 33 | 34 | if (![dictionary isKindOfClass:[NSNull class]]) { 35 | if (![[dictionary objectForKey:@"location"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"location"]) { 36 | new.location = [LPLocation locationWithObjects:[dictionary objectForKey:@"location"]]; 37 | } 38 | 39 | if (![[dictionary objectForKey:@"viewport"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"viewport"]) { 40 | new.viewport = [LPBounds boundsWithObjects:[dictionary objectForKey:@"viewport"]]; 41 | } 42 | } 43 | 44 | return new; 45 | } 46 | 47 | - (NSDictionary *)dictionary 48 | { 49 | NSMutableDictionary *dictionary = [NSMutableDictionary new]; 50 | 51 | if (self.location && ![self.location isKindOfClass:[NSNull class]]) { 52 | [dictionary setObject:self.location.dictionary forKey:@"location"]; 53 | } 54 | 55 | if (self.viewport && ![self.viewport isKindOfClass:[NSNull class]]) { 56 | [dictionary setObject:self.viewport.dictionary forKey:@"viewport"]; 57 | } 58 | 59 | return dictionary; 60 | } 61 | 62 | - (NSString *)description 63 | { 64 | return [self dictionary].description; 65 | } 66 | 67 | - (id)copyWithZone:(NSZone *)zone 68 | { 69 | LPGeometry *new = [LPGeometry new]; 70 | 71 | [new setLocation:[self location]]; 72 | [new setViewport:[self viewport]]; 73 | 74 | return new; 75 | } 76 | 77 | 78 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPBounds.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPBounds.m 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPBounds.h" 9 | 10 | 11 | @implementation LPBounds 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPBounds new]; 16 | if (self) { 17 | self.northeast = [coder decodeObjectForKey:@"northeast"]; 18 | self.southwest = [coder decodeObjectForKey:@"southwest"]; 19 | } 20 | 21 | return self; 22 | } 23 | 24 | - (void)encodeWithCoder:(NSCoder *)coder 25 | { 26 | [coder encodeObject:self.northeast forKey:@"northeast"]; 27 | [coder encodeObject:self.southwest forKey:@"southwest"]; 28 | } 29 | 30 | + (id)boundsWithObjects:(NSDictionary *)dictionary 31 | { 32 | LPBounds *new = [LPBounds new]; 33 | 34 | if (![dictionary isKindOfClass:[NSNull class]]) { 35 | if (![[dictionary objectForKey:@"northeast"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"northeast"]) { 36 | new.northeast=[LPLocation locationWithObjects:[dictionary objectForKey:@"northeast"]]; 37 | } 38 | 39 | if (![[dictionary objectForKey:@"southwest"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"southwest"]) { 40 | new.southwest=[LPLocation locationWithObjects:[dictionary objectForKey:@"southwest"]]; 41 | } 42 | } 43 | 44 | return new; 45 | } 46 | 47 | - (NSDictionary *)dictionary 48 | { 49 | NSMutableDictionary *dictionary = [NSMutableDictionary new]; 50 | 51 | if (self.northeast && ![self.northeast isKindOfClass:[NSNull class]]) { 52 | [dictionary setObject:self.northeast.dictionary forKey:@"northeast"]; 53 | } 54 | 55 | if (self.southwest && ![self.southwest isKindOfClass:[NSNull class]]) { 56 | [dictionary setObject:self.southwest.dictionary forKey:@"southwest"]; 57 | } 58 | 59 | return dictionary; 60 | } 61 | 62 | - (NSString *)description 63 | { 64 | return [self dictionary].description; 65 | } 66 | 67 | - (id)copyWithZone:(NSZone *)zone 68 | { 69 | LPBounds *new = [LPBounds new]; 70 | 71 | [new setNortheast:[self northeast]]; 72 | [new setSouthwest:[self southwest]]; 73 | 74 | return new; 75 | } 76 | 77 | @end 78 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPEvent.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPEvent.m 3 | // 4 | // Created by Luka Penger on 8/20/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPEvent.h" 9 | 10 | 11 | @implementation LPEvent 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPEvent new]; 16 | if (self) { 17 | self.eventID = [coder decodeObjectForKey:@"eventID"]; 18 | self.summary = [coder decodeObjectForKey:@"summary"]; 19 | self.URL = [coder decodeObjectForKey:@"URL"]; 20 | } 21 | 22 | return self; 23 | } 24 | 25 | - (void)encodeWithCoder:(NSCoder *)coder 26 | { 27 | [coder encodeObject:self.eventID forKey:@"eventID"]; 28 | [coder encodeObject:self.summary forKey:@"summary"]; 29 | [coder encodeObject:self.URL forKey:@"URL"]; 30 | } 31 | 32 | + (id)eventWithObjects:(NSDictionary *)dictionary 33 | { 34 | LPEvent *new = [LPEvent new]; 35 | 36 | if (![dictionary isKindOfClass:[NSNull class]]) { 37 | if (![[dictionary objectForKey:@"event_id"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"event_id"]) { 38 | new.eventID = [NSString stringWithFormat:@"%@", [dictionary objectForKey:@"event_id"]]; 39 | } 40 | 41 | if (![[dictionary objectForKey:@"summary"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"summary"]) { 42 | new.summary = [NSString stringWithFormat:@"%@", [dictionary objectForKey:@"summary"]]; 43 | } 44 | 45 | if (![[dictionary objectForKey:@"url"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"url"]) { 46 | new.URL = [NSString stringWithFormat:@"%@", [dictionary objectForKey:@"url"]]; 47 | } 48 | } 49 | 50 | return new; 51 | } 52 | 53 | - (NSDictionary *)dictionary 54 | { 55 | NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithDictionary:[self dictionaryWithValuesForKeys:[NSArray arrayWithObjects:@"eventID", @"summary", @"URL", nil]]]; 56 | 57 | return dictionary; 58 | } 59 | 60 | - (NSString *)description 61 | { 62 | return [self dictionary].description; 63 | } 64 | 65 | - (id)copyWithZone:(NSZone *)zone 66 | { 67 | LPEvent *new = [LPEvent new]; 68 | 69 | [new setEventID:self.eventID]; 70 | [new setSummary:self.summary]; 71 | [new setURL:self.URL]; 72 | 73 | return new; 74 | } 75 | 76 | @end 77 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/Libraries/LPImage/LPImage.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPImage.m 3 | // 4 | // Created by Luka Penger on 01/05/14. 5 | // Copyright (c) 2014 Luka Penger. All rights reserved. 6 | // 7 | 8 | // This code is distributed under the terms and conditions of the MIT license. 9 | 10 | // Copyright (c) 2014 Luka Penger 11 | // 12 | // Permission is hereby granted, free of charge, to any person obtaining a copy 13 | // of this software and associated documentation files (the "Software"), to deal 14 | // in the Software without restriction, including without limitation the rights 15 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 16 | // copies of the Software, and to permit persons to whom the Software is 17 | // furnished to do so, subject to the following conditions: 18 | // 19 | // The above copyright notice and this permission notice shall be included in 20 | // all copies or substantial portions of the Software. 21 | // 22 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 23 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 25 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 26 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 27 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 28 | // THE SOFTWARE. 29 | 30 | #import "LPImage.h" 31 | 32 | 33 | @implementation UIImage (LPImage) 34 | 35 | - (UIImage *)imageTintedWithColor:(UIColor *)color 36 | { 37 | if (color) { 38 | UIGraphicsBeginImageContextWithOptions([self size], NO, 0.f); 39 | 40 | CGRect rect = CGRectZero; 41 | rect.size = [self size]; 42 | 43 | [color set]; 44 | UIRectFill(rect); 45 | 46 | [self drawInRect:rect blendMode:kCGBlendModeDestinationIn alpha:1.0]; 47 | 48 | UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 49 | UIGraphicsEndImageContext(); 50 | 51 | return image; 52 | } 53 | 54 | return self; 55 | } 56 | 57 | - (UIImage *)changeImageSize:(CGSize)newSize 58 | { 59 | UIGraphicsBeginImageContext(newSize); 60 | UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0f); 61 | [self drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; 62 | UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); 63 | UIGraphicsEndImageContext(); 64 | return newImage; 65 | } 66 | 67 | @end 68 | 69 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPWaypoint.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPWaypoint.m 3 | // 4 | // Created by Luka Penger on 7/3/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPWaypoint.h" 9 | 10 | 11 | @implementation LPWaypoint 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPWaypoint new]; 16 | if (self) { 17 | self.location = [coder decodeObjectForKey:@"location"]; 18 | self.stepIndex = [coder decodeIntForKey:@"stepIndex"]; 19 | self.stepInterpolation = [coder decodeDoubleForKey:@"stepInterpolation"]; 20 | } 21 | 22 | return self; 23 | } 24 | 25 | - (void)encodeWithCoder:(NSCoder *)coder 26 | { 27 | [coder encodeObject:self.location forKey:@"location"]; 28 | [coder encodeInt:self.stepIndex forKey:@"stepIndex"]; 29 | [coder encodeDouble:self.stepInterpolation forKey:@"stepInterpolation"]; 30 | } 31 | 32 | + (id)waypointWithObjects:(NSDictionary*)dictionary 33 | { 34 | LPWaypoint *new = [LPWaypoint new]; 35 | 36 | if (![dictionary isKindOfClass:[NSNull class]]) { 37 | if (![[dictionary objectForKey:@"location"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"location"]) { 38 | new.location=[LPLocation locationWithObjects:[dictionary objectForKey:@"location"]]; 39 | } 40 | 41 | if (![[dictionary objectForKey:@"step_index"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"step_index"]) { 42 | new.stepIndex = [[dictionary objectForKey:@"step_index"] intValue]; 43 | } 44 | 45 | if (![[dictionary objectForKey:@"step_interpolation"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"step_interpolation"]) { 46 | new.stepInterpolation = [[dictionary objectForKey:@"step_interpolation"] doubleValue]; 47 | } 48 | } 49 | 50 | return new; 51 | } 52 | 53 | - (NSDictionary *)dictionary 54 | { 55 | NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithDictionary:[self dictionaryWithValuesForKeys:[NSArray arrayWithObjects:@"stepIndex", @"stepInterpolation", nil]]]; 56 | 57 | if(self.location && ![self.location isKindOfClass:[NSNull class]]) { 58 | [dictionary setObject:self.location forKey:@"location"]; 59 | } 60 | 61 | return dictionary; 62 | } 63 | 64 | - (NSString *)description 65 | { 66 | return [self dictionary].description; 67 | } 68 | 69 | - (id)copyWithZone:(NSZone *)zone 70 | { 71 | LPWaypoint *new = [LPWaypoint new]; 72 | 73 | [new setLocation:[self location]]; 74 | [new setStepIndex:[self stepIndex]]; 75 | [new setStepInterpolation:[self stepInterpolation]]; 76 | 77 | return new; 78 | } 79 | 80 | @end 81 | -------------------------------------------------------------------------------- /Examples/AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIRefreshControl+AFNetworking.m 2 | // 3 | // Copyright (c) 2014 AFNetworking (http://afnetworking.com) 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #import 24 | 25 | #import 26 | 27 | #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) 28 | 29 | #import 30 | 31 | @class AFURLConnectionOperation; 32 | 33 | /** 34 | This category adds methods to the UIKit framework's `UIRefreshControl` class. The methods in this category provide support for automatically begining and ending refreshing depending on the loading state of a request operation or session task. 35 | */ 36 | @interface UIRefreshControl (AFNetworking) 37 | 38 | ///----------------------------------- 39 | /// @name Refreshing for Session Tasks 40 | ///----------------------------------- 41 | 42 | /** 43 | Binds the refreshing state to the state of the specified task. 44 | 45 | @param task The task. If `nil`, automatic updating from any previously specified operation will be diabled. 46 | */ 47 | #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 48 | - (void)setRefreshingWithStateOfTask:(NSURLSessionTask *)task; 49 | #endif 50 | 51 | ///---------------------------------------- 52 | /// @name Refreshing for Request Operations 53 | ///---------------------------------------- 54 | 55 | /** 56 | Binds the refreshing state to the execution state of the specified operation. 57 | 58 | @param operation The operation. If `nil`, automatic updating from any previously specified operation will be disabled. 59 | */ 60 | - (void)setRefreshingWithStateOfOperation:(AFURLConnectionOperation *)operation; 61 | 62 | @end 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /Examples/AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIActivityIndicatorView+AFNetworking.h 2 | // 3 | // Copyright (c) 2013-2014 AFNetworking (http://afnetworking.com) 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #import 24 | 25 | #import 26 | 27 | #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) 28 | 29 | #import 30 | 31 | @class AFURLConnectionOperation; 32 | 33 | /** 34 | This category adds methods to the UIKit framework's `UIActivityIndicatorView` class. The methods in this category provide support for automatically starting and stopping animation depending on the loading state of a request operation or session task. 35 | */ 36 | @interface UIActivityIndicatorView (AFNetworking) 37 | 38 | ///---------------------------------- 39 | /// @name Animating for Session Tasks 40 | ///---------------------------------- 41 | 42 | /** 43 | Binds the animating state to the state of the specified task. 44 | 45 | @param task The task. If `nil`, automatic updating from any previously specified operation will be disabled. 46 | */ 47 | #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 48 | - (void)setAnimatingWithStateOfTask:(NSURLSessionTask *)task; 49 | #endif 50 | 51 | ///--------------------------------------- 52 | /// @name Animating for Request Operations 53 | ///--------------------------------------- 54 | 55 | /** 56 | Binds the animating state to the execution state of the specified operation. 57 | 58 | @param operation The operation. If `nil`, automatic updating from any previously specified operation will be disabled. 59 | */ 60 | - (void)setAnimatingWithStateOfOperation:(AFURLConnectionOperation *)operation; 61 | 62 | @end 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService/Classes/LPMainViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPMainViewController.m 3 | // LPStaticMapImagesService 4 | // 5 | // Created by Luka Penger on 8/20/13. 6 | // Copyright (c) 2013 Luka Penger. All rights reserved. 7 | // 8 | 9 | #import "LPMainViewController.h" 10 | 11 | 12 | NSString *const googleAPIBrowserKey = @""; 13 | 14 | 15 | @interface LPMainViewController () 16 | 17 | @property (nonatomic, strong) LPGoogleFunctions *googleFunctions; 18 | 19 | @end 20 | 21 | 22 | @implementation LPMainViewController 23 | 24 | #pragma mark - Lifecycle 25 | 26 | - (void)viewDidLoad 27 | { 28 | [super viewDidLoad]; 29 | 30 | self.title = @"Static Map"; 31 | 32 | NSMutableArray *markers = [NSMutableArray new]; 33 | 34 | LPMapImageMarker *marker1 = [LPMapImageMarker new]; 35 | marker1.size = LPGoogleMapImageMarkerSizeNormal; 36 | marker1.location = [LPLocation locationWithLatitude:46.410471 longitude:15.66195]; 37 | marker1.label = @"A"; 38 | marker1.color = [UIColor blueColor]; 39 | [markers addObject:marker1]; 40 | 41 | LPMapImageMarker *marker2 = [LPMapImageMarker new]; 42 | marker2.size = LPGoogleMapImageMarkerSizeNormal; 43 | marker2.location = [LPLocation locationWithLatitude:46.390351 longitude:15.66165]; 44 | marker2.label = @"B"; 45 | marker2.color = [UIColor greenColor]; 46 | [markers addObject:marker2]; 47 | 48 | // For Address 49 | /* 50 | [self.googleFunctions loadStaticMapImageForAddress:@"New York" zoomLevel:12 imageSize:CGSizeMake(self.imageView.frame.size.width,self.imageView.frame.size.height) imageScale:2 mapType:LPGoogleMapTypeHybrid markersArray:nil successfulBlock:^(UIImage *image) { 51 | 52 | [self.imageView setImage:image]; 53 | 54 | } failureBlock:^(NSError *error) { 55 | 56 | NSLog(@"Error: %@",error); 57 | 58 | }]; 59 | */ 60 | // For Location 61 | 62 | [self.googleFunctions loadStaticMapImageForLocation:[LPLocation locationWithLatitude:46.395461 longitude:15.66195] zoomLevel:12 imageSize:CGSizeMake(self.imageView.frame.size.width,self.imageView.frame.size.height) imageScale:2 mapType:LPGoogleMapTypeHybrid markersArray:markers successfulBlock:^(UIImage *image) { 63 | 64 | [self.imageView setImage:image]; 65 | 66 | } failureBlock:^(NSError *error) { 67 | 68 | NSLog(@"Error: %@",error); 69 | 70 | }]; 71 | } 72 | 73 | #pragma mark - LPGoogleFunctions 74 | 75 | - (LPGoogleFunctions *)googleFunctions 76 | { 77 | if (!_googleFunctions) { 78 | _googleFunctions = [LPGoogleFunctions new]; 79 | _googleFunctions.googleAPIBrowserKey = googleAPIBrowserKey; 80 | _googleFunctions.delegate = self; 81 | _googleFunctions.sensor = YES; 82 | _googleFunctions.languageCode = @"en"; 83 | } 84 | return _googleFunctions; 85 | } 86 | 87 | @end 88 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPTime.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPTime.m 3 | // 4 | // Created by Luka Penger on 7/27/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPTime.h" 9 | 10 | 11 | @implementation LPTime 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPTime new]; 16 | if (self) { 17 | self.text = [coder decodeObjectForKey:@"text"]; 18 | self.timeZone = [coder decodeObjectForKey:@"timeZone"]; 19 | self.value = [coder decodeFloatForKey:@"value"]; 20 | self.formattedTime = [coder decodeObjectForKey:@"formattedTime"]; 21 | } 22 | 23 | return self; 24 | } 25 | 26 | - (void)encodeWithCoder:(NSCoder *)coder 27 | { 28 | [coder encodeObject:self.text forKey:@"text"]; 29 | [coder encodeObject:self.timeZone forKey:@"timeZone"]; 30 | [coder encodeFloat:self.value forKey:@"value"]; 31 | [coder encodeObject:self.formattedTime forKey:@"formattedTime"]; 32 | } 33 | 34 | + (id)timeWithObjects:(NSDictionary *)dictionary 35 | { 36 | LPTime *new = [LPTime new]; 37 | 38 | if (![dictionary isKindOfClass:[NSNull class]]) { 39 | if (![[dictionary objectForKey:@"text"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"text"]) { 40 | new.text = [dictionary objectForKey:@"text"]; 41 | } 42 | 43 | if (![[dictionary objectForKey:@"time_zone"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"time_zone"]) { 44 | new.timeZone = [dictionary objectForKey:@"time_zone"]; 45 | } 46 | 47 | if (![[dictionary objectForKey:@"value"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"value"]) { 48 | new.value = [[dictionary objectForKey:@"value"] floatValue]; 49 | } 50 | 51 | if (new.text && new.timeZone) { 52 | new.formattedTime = [NSDate dateWithTimeIntervalSince1970:new.value]; 53 | } 54 | } 55 | 56 | return new; 57 | } 58 | 59 | - (NSDictionary *)dictionary 60 | { 61 | NSMutableDictionary *dictionary = [NSMutableDictionary new]; 62 | 63 | [dictionary setObject:[NSString stringWithFormat:@"%@", self.text] forKey:@"text"]; 64 | [dictionary setObject:[NSString stringWithFormat:@"%@", self.timeZone] forKey:@"timeZone"]; 65 | [dictionary setObject:[NSString stringWithFormat:@"%f", self.value] forKey:@"value"]; 66 | [dictionary setObject:[NSString stringWithFormat:@"%@", self.formattedTime.description] forKey:@"formattedTime"]; 67 | 68 | return dictionary; 69 | } 70 | 71 | - (NSString *)description 72 | { 73 | return [self dictionary].description; 74 | } 75 | 76 | - (id)copyWithZone:(NSZone *)zone 77 | { 78 | LPTime *new = [LPTime new]; 79 | 80 | [new setText:[self text]]; 81 | [new setTimeZone:[self timeZone]]; 82 | [new setValue:[self value]]; 83 | [new setFormattedTime:[self formattedTime]]; 84 | 85 | return new; 86 | } 87 | 88 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPGeocodingResults.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPGeocodingResults.m 3 | // 4 | // Created by Luka Penger on 7/28/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPGeocodingResults.h" 9 | 10 | 11 | @implementation LPGeocodingResults 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPGeocodingResults new]; 16 | if (self) { 17 | self.results = [coder decodeObjectForKey:@"results"]; 18 | self.statusCode = [coder decodeObjectForKey:@"statusCode"]; 19 | } 20 | 21 | return self; 22 | } 23 | 24 | - (void)encodeWithCoder:(NSCoder *)coder 25 | { 26 | [coder encodeObject:self.results forKey:@"results"]; 27 | [coder encodeObject:self.statusCode forKey:@"statusCode"]; 28 | } 29 | 30 | + (id)geocodingResultsWithObjects:(NSDictionary *)dictionary 31 | { 32 | LPGeocodingResults *new = [LPGeocodingResults new]; 33 | 34 | if (![dictionary isKindOfClass:[NSNull class]]) { 35 | if (![[dictionary objectForKey:@"results"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"results"]) { 36 | NSMutableArray *array = [NSMutableArray new]; 37 | 38 | for (int i=0; i<[[dictionary objectForKey:@"results"] count]; i++) { 39 | LPPlaceDetails *placeDetails = [LPPlaceDetails placeDetailsWithObjects:[[dictionary objectForKey:@"results"] objectAtIndex:i]]; 40 | 41 | [array addObject:placeDetails]; 42 | } 43 | 44 | new.results=[NSArray arrayWithArray:array]; 45 | } 46 | 47 | if (![[dictionary objectForKey:@"status"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"status"]) { 48 | new.statusCode = [NSString stringWithFormat:@"%@", [dictionary objectForKey:@"status"]]; 49 | } 50 | } 51 | 52 | return new; 53 | } 54 | 55 | - (NSDictionary *)dictionary 56 | { 57 | NSMutableDictionary *dictionary = [NSMutableDictionary new]; 58 | 59 | if (self.results && ![self.results isKindOfClass:[NSNull class]]) { 60 | NSMutableArray *array = [NSMutableArray new]; 61 | 62 | for (int i=0; i<[self.results count]; i++) { 63 | LPPlaceDetails *placeDetails = (LPPlaceDetails *)[self.results objectAtIndex:i]; 64 | 65 | [array addObject:placeDetails.dictionary]; 66 | } 67 | 68 | [dictionary setObject:array forKey:@"results"]; 69 | } 70 | 71 | [dictionary setObject:[NSString stringWithFormat:@"%@", self.statusCode] forKey:@"statusCode"]; 72 | 73 | return dictionary; 74 | } 75 | 76 | - (NSString *)description 77 | { 78 | return [self dictionary].description; 79 | } 80 | 81 | - (id)copyWithZone:(NSZone *)zone 82 | { 83 | LPGeocodingResults *new = [LPGeocodingResults new]; 84 | 85 | [new setResults:[self results]]; 86 | [new setStatusCode:[self statusCode]]; 87 | 88 | return new; 89 | } 90 | 91 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPMapImageMarker.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPMapImageMarker.m 3 | // 4 | // Created by Luka Penger on 7/6/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPMapImageMarker.h" 9 | 10 | 11 | @implementation LPMapImageMarker 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPMapImageMarker new]; 16 | if (self) { 17 | self.size = [coder decodeIntForKey:@"size"]; 18 | self.color = [coder decodeObjectForKey:@"color"]; 19 | self.label = [coder decodeObjectForKey:@"label"]; 20 | self.location = [coder decodeObjectForKey:@"location"]; 21 | } 22 | 23 | return self; 24 | } 25 | 26 | - (void)encodeWithCoder:(NSCoder *)coder 27 | { 28 | [coder encodeInt:self.size forKey:@"size"]; 29 | [coder encodeObject:self.color forKey:@"color"]; 30 | [coder encodeObject:self.label forKey:@"label"]; 31 | [coder encodeObject:self.location forKey:@"location"]; 32 | } 33 | 34 | - (NSDictionary *)dictionary 35 | { 36 | NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithDictionary:[self dictionaryWithValuesForKeys:[NSArray arrayWithObjects:@"size", @"label", @"iconCustomPinURL", nil]]]; 37 | 38 | [dictionary setObject:[self getColorString] forKey:@"color"]; 39 | 40 | if (self.location && ![self.location isKindOfClass:[NSNull class]]) { 41 | [dictionary setObject:self.location.dictionary forKey:@"location"]; 42 | } 43 | 44 | return dictionary; 45 | } 46 | 47 | - (NSString *)description 48 | { 49 | return [self dictionary].description; 50 | } 51 | 52 | - (NSString *)getColorString 53 | { 54 | if (self.color) { 55 | CGFloat red = 0.0, green = 0.0, blue = 0.0, alpha =0.0; 56 | [self.color getRed:&red green:&green blue:&blue alpha:&alpha]; 57 | 58 | return [NSString stringWithFormat:@"0x%02x%02x%02x", (int)(255.0 * red), (int)(255.0 * green), (int)(255.0 * blue)]; 59 | } else { 60 | return @"0x000000"; 61 | } 62 | } 63 | 64 | - (NSString *)getSizeString 65 | { 66 | switch (self.size) { 67 | case LPGoogleMapImageMarkerSizeMid: 68 | return @"mid"; 69 | case LPGoogleMapImageMarkerSizeTiny: 70 | return @"tiny"; 71 | case LPGoogleMapImageMarkerSizeSmall: 72 | return @"small"; 73 | default: 74 | return @""; 75 | } 76 | } 77 | 78 | - (NSString *)getMarkerURLString 79 | { 80 | NSString *string = [NSString stringWithFormat:@"size:%@|color:%@|label:%@|%f,%f", [self getSizeString], [self getColorString], self.label, self.location.latitude, self.location.longitude]; 81 | 82 | return string; 83 | } 84 | 85 | - (id)copyWithZone:(NSZone *)zone 86 | { 87 | LPMapImageMarker *new = [LPMapImageMarker new]; 88 | 89 | [new setSize:[self size]]; 90 | [new setColor:[self color]]; 91 | [new setLabel:[self label]]; 92 | [new setLocation:[self location]]; 93 | 94 | return new; 95 | } 96 | 97 | @end 98 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPPlacesAutocomplete.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPPlacesAutocomplete.m 3 | // 4 | // Created by Luka Penger on 7/7/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPPlacesAutocomplete.h" 9 | 10 | 11 | @implementation LPPlacesAutocomplete 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPPlacesAutocomplete new]; 16 | if (self) { 17 | self.predictions = [coder decodeObjectForKey:@"predictions"]; 18 | self.statusCode = [coder decodeObjectForKey:@"statusCode"]; 19 | } 20 | 21 | return self; 22 | } 23 | 24 | - (void)encodeWithCoder:(NSCoder *)coder 25 | { 26 | [coder encodeObject:self.predictions forKey:@"predictions"]; 27 | [coder encodeObject:self.statusCode forKey:@"statusCode"]; 28 | } 29 | 30 | + (id)placesAutocompleteWithObjects:(NSDictionary*)dictionary 31 | { 32 | LPPlacesAutocomplete *new = [LPPlacesAutocomplete new]; 33 | 34 | if (![dictionary isKindOfClass:[NSNull class]]) { 35 | if (![[dictionary objectForKey:@"predictions"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"predictions"]) { 36 | NSMutableArray *array = [NSMutableArray new]; 37 | 38 | for (int i=0; i<[[dictionary objectForKey:@"predictions"] count]; i++) { 39 | LPPrediction *predictions = [LPPrediction predicationWithObjects:[[dictionary objectForKey:@"predictions"] objectAtIndex:i]]; 40 | predictions.number = i; 41 | 42 | [array addObject:predictions]; 43 | } 44 | 45 | new.predictions = [NSArray arrayWithArray:array]; 46 | } 47 | 48 | if (![[dictionary objectForKey:@"status"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"status"]) { 49 | new.statusCode = [NSString stringWithFormat:@"%@",[dictionary objectForKey:@"status"]]; 50 | } 51 | } 52 | 53 | return new; 54 | } 55 | 56 | - (NSDictionary *)dictionary 57 | { 58 | NSMutableDictionary *dictionary = [NSMutableDictionary new]; 59 | 60 | if (self.predictions && ![self.predictions isKindOfClass:[NSNull class]]) { 61 | NSMutableArray *array = [NSMutableArray new]; 62 | 63 | for (int i=0; i<[self.predictions count]; i++) { 64 | [array addObject:((LPPrediction *)[self.predictions objectAtIndex:i]).dictionary]; 65 | } 66 | 67 | [dictionary setObject:array forKey:@"predictions"]; 68 | } 69 | 70 | [dictionary setObject:[NSString stringWithFormat:@"%@", self.statusCode] forKey:@"statusCode"]; 71 | 72 | return dictionary; 73 | } 74 | 75 | - (NSString *)description 76 | { 77 | return [self dictionary].description; 78 | } 79 | 80 | - (id)copyWithZone:(NSZone *)zone 81 | { 82 | LPPlacesAutocomplete *new = [LPPlacesAutocomplete new]; 83 | 84 | [new setPredictions:[self predictions]]; 85 | [new setStatusCode:[self statusCode]]; 86 | 87 | return new; 88 | } 89 | 90 | @end 91 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPAddressComponent.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPAddressComponent.m 3 | // 4 | // Created by Luka Penger on 7/26/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPAddressComponent.h" 9 | 10 | 11 | @implementation LPAddressComponent 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPAddressComponent new]; 16 | if (self) { 17 | self.longName = [coder decodeObjectForKey:@"longName"]; 18 | self.shortName = [coder decodeObjectForKey:@"shortName"]; 19 | self.types = [coder decodeObjectForKey:@"types"]; 20 | } 21 | 22 | return self; 23 | } 24 | 25 | - (void)encodeWithCoder:(NSCoder *)coder 26 | { 27 | [coder encodeObject:self.longName forKey:@"longName"]; 28 | [coder encodeObject:self.shortName forKey:@"shortName"]; 29 | [coder encodeObject:self.types forKey:@"types"]; 30 | } 31 | 32 | + (id)addressComponentWithObjects:(NSDictionary *)dictionary 33 | { 34 | LPAddressComponent *new = [LPAddressComponent new]; 35 | 36 | if (![dictionary isKindOfClass:[NSNull class]]) { 37 | if (![[dictionary objectForKey:@"long_name"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"long_name"]) { 38 | new.longName = [dictionary objectForKey:@"long_name"]; 39 | } 40 | 41 | if (![[dictionary objectForKey:@"short_name"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"short_name"]) { 42 | new.shortName = [dictionary objectForKey:@"short_name"]; 43 | } 44 | 45 | if (![[dictionary objectForKey:@"types"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"types"]) { 46 | NSMutableArray *array = [NSMutableArray new]; 47 | 48 | for (int i=0; i<[[dictionary objectForKey:@"types"] count]; i++) { 49 | [array addObject:[[dictionary objectForKey:@"types"] objectAtIndex:i]]; 50 | } 51 | 52 | new.types = [NSArray arrayWithArray:array]; 53 | } 54 | } 55 | 56 | return new; 57 | } 58 | 59 | - (NSDictionary *)dictionary 60 | { 61 | NSMutableDictionary *dictionary = [NSMutableDictionary new]; 62 | 63 | [dictionary setObject:self.longName forKey:@"longName"]; 64 | [dictionary setObject:self.shortName forKey:@"shortName"]; 65 | 66 | if (self.types && ![self.types isKindOfClass:[NSNull class]]) { 67 | NSMutableArray *array = [NSMutableArray new]; 68 | 69 | for (int i=0; i<[self.types count]; i++) { 70 | [array addObject:[self.types objectAtIndex:i]]; 71 | } 72 | 73 | [dictionary setObject:array forKey:@"types"]; 74 | } 75 | 76 | return dictionary; 77 | } 78 | 79 | - (NSString *)description 80 | { 81 | return [self dictionary].description; 82 | } 83 | 84 | - (id)copyWithZone:(NSZone *)zone 85 | { 86 | LPAddressComponent *new = [LPAddressComponent new]; 87 | 88 | [new setLongName:[self longName]]; 89 | [new setShortName:[self shortName]]; 90 | [new setTypes:[self types]]; 91 | 92 | return new; 93 | } 94 | 95 | @end -------------------------------------------------------------------------------- /LPGoogleFunctions/AQGoogleSignature/GoogleSignature/GTMStringEncoding.h: -------------------------------------------------------------------------------- 1 | // 2 | // GTMStringEncoding.h 3 | // 4 | // Copyright 2010 Google Inc. 5 | // 6 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not 7 | // use this file except in compliance with the License. You may obtain a copy 8 | // of the License at 9 | // 10 | // http://www.apache.org/licenses/LICENSE-2.0 11 | // 12 | // Unless required by applicable law or agreed to in writing, software 13 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 14 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 15 | // License for the specific language governing permissions and limitations under 16 | // the License. 17 | // 18 | 19 | #import 20 | #import "GTMDefines.h" 21 | 22 | // A generic class for arbitrary base-2 to 128 string encoding and decoding. 23 | @interface GTMStringEncoding : NSObject { 24 | @private 25 | NSData *charMapData_; 26 | char *charMap_; 27 | int reverseCharMap_[128]; 28 | int shift_; 29 | int mask_; 30 | BOOL doPad_; 31 | char paddingChar_; 32 | int padLen_; 33 | } 34 | 35 | // Create a new, autoreleased GTMStringEncoding object with a standard encoding. 36 | + (id)binaryStringEncoding; 37 | + (id)hexStringEncoding; 38 | + (id)rfc4648Base32StringEncoding; 39 | + (id)rfc4648Base32HexStringEncoding; 40 | + (id)crockfordBase32StringEncoding; 41 | + (id)rfc4648Base64StringEncoding; 42 | + (id)rfc4648Base64WebsafeStringEncoding; 43 | 44 | // Create a new, autoreleased GTMStringEncoding object with the given string, 45 | // as described below. 46 | + (id)stringEncodingWithString:(NSString *)string; 47 | 48 | // Initialize a new GTMStringEncoding object with the string. 49 | // 50 | // The length of the string must be a power of 2, at least 2 and at most 128. 51 | // Only 7-bit ASCII characters are permitted in the string. 52 | // 53 | // These characters are the canonical set emitted during encoding. 54 | // If the characters have alternatives (e.g. case, easily transposed) then use 55 | // addDecodeSynonyms: to configure them. 56 | - (id)initWithString:(NSString *)string; 57 | 58 | // Add decoding synonyms as specified in the synonyms argument. 59 | // 60 | // It should be a sequence of one previously reverse mapped character, 61 | // followed by one or more non-reverse mapped character synonyms. 62 | // Only 7-bit ASCII characters are permitted in the string. 63 | // 64 | // e.g. If a GTMStringEncoder object has already been initialised with a set 65 | // of characters excluding I, L and O (to avoid confusion with digits) and you 66 | // want to accept them as digits you can call addDecodeSynonyms:@"0oO1iIlL". 67 | - (void)addDecodeSynonyms:(NSString *)synonyms; 68 | 69 | // A sequence of characters to ignore if they occur during encoding. 70 | // Only 7-bit ASCII characters are permitted in the string. 71 | - (void)ignoreCharacters:(NSString *)chars; 72 | 73 | // Indicates whether padding is performed during encoding. 74 | - (BOOL)doPad; 75 | - (void)setDoPad:(BOOL)doPad; 76 | 77 | // Sets the padding character to use during encoding. 78 | - (void)setPaddingChar:(char)c; 79 | 80 | // Encode a raw binary buffer to a 7-bit ASCII string. 81 | - (NSString *)encode:(NSData *)data; 82 | - (NSString *)encodeString:(NSString *)string; 83 | 84 | // Decode a 7-bit ASCII string to a raw binary buffer. 85 | - (NSData *)decode:(NSString *)string; 86 | - (NSString *)stringByDecoding:(NSString *)string; 87 | 88 | @end 89 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService/Views/LPMainViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 33 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService.xcodeproj/xcuserdata/nelson.xcuserdatad/xcschemes/LPSpeakService.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 | -------------------------------------------------------------------------------- /Examples/LPSpeakService/LPSpeakService.xcodeproj/xcuserdata/LukaPenger.xcuserdatad/xcschemes/LPSpeakService.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 | -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService.xcodeproj/xcuserdata/nelson.xcuserdatad/xcschemes/LPDistanceMatrixService.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 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPPlaceDetailsResults.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPPlaceDetailsResults.m 3 | // 4 | // Created by Luka Penger on 7/26/13. 5 | // Copyright (c) 2013 Luka Penger. All rights reserved. 6 | // 7 | 8 | #import "LPPlaceDetailsResults.h" 9 | 10 | 11 | @implementation LPPlaceDetailsResults 12 | 13 | - (id)initWithCoder:(NSCoder *)coder 14 | { 15 | self = [LPPlaceDetailsResults new]; 16 | if (self) { 17 | self.htmlAttributions = [coder decodeObjectForKey:@"htmlAttributions"]; 18 | self.result = [coder decodeObjectForKey:@"result"]; 19 | self.statusCode = [coder decodeObjectForKey:@"statusCode"]; 20 | } 21 | 22 | return self; 23 | } 24 | 25 | - (void)encodeWithCoder:(NSCoder *)coder 26 | { 27 | [coder encodeObject:self.htmlAttributions forKey:@"htmlAttributions"]; 28 | [coder encodeObject:self.result forKey:@"result"]; 29 | [coder encodeObject:self.statusCode forKey:@"statusCode"]; 30 | } 31 | 32 | + (id)placeDetailsResultsWithObjects:(NSDictionary*)dictionary 33 | { 34 | LPPlaceDetailsResults *new = [LPPlaceDetailsResults new]; 35 | 36 | if (![dictionary isKindOfClass:[NSNull class]]) { 37 | if (![[dictionary objectForKey:@"html_attributions"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"html_attributions"] != nil) { 38 | NSMutableArray *array = [NSMutableArray new]; 39 | 40 | for (int i=0; i<[[dictionary objectForKey:@"html_attributions"] count]; i++) { 41 | NSString *string = [[dictionary objectForKey:@"html_attributions"] objectAtIndex:i]; 42 | 43 | [array addObject:string]; 44 | } 45 | 46 | new.htmlAttributions = [NSArray arrayWithArray:array]; 47 | } 48 | 49 | if (![[dictionary objectForKey:@"result"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"result"] != nil) { 50 | new.result = [LPPlaceDetails placeDetailsWithObjects:[dictionary objectForKey:@"result"]]; 51 | } 52 | 53 | if (![[dictionary objectForKey:@"status"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"status"] != nil) { 54 | new.statusCode = [NSString stringWithFormat:@"%@", [dictionary objectForKey:@"status"]]; 55 | } 56 | } 57 | 58 | return new; 59 | } 60 | 61 | - (NSDictionary*)dictionary 62 | { 63 | NSMutableDictionary *dictionary = [NSMutableDictionary new]; 64 | 65 | if (self.htmlAttributions && ![self.htmlAttributions isKindOfClass:[NSNull class]]) { 66 | NSMutableArray *array = [NSMutableArray new]; 67 | 68 | for (int i=0; i<[self.htmlAttributions count]; i++) { 69 | NSString *string = (NSString *)[self.htmlAttributions objectAtIndex:i]; 70 | 71 | [array addObject:string.description]; 72 | } 73 | 74 | [dictionary setObject:array forKey:@"htmlAttributions"]; 75 | } 76 | 77 | if (self.result && ![self.result isKindOfClass:[NSNull class]]) { 78 | [dictionary setObject:self.result.dictionary forKey:@"result"]; 79 | } 80 | 81 | [dictionary setObject:[NSString stringWithFormat:@"%@", self.statusCode] forKey:@"statusCode"]; 82 | 83 | return dictionary; 84 | } 85 | 86 | - (NSString *)description 87 | { 88 | return [self dictionary].description; 89 | } 90 | 91 | - (id)copyWithZone:(NSZone *)zone 92 | { 93 | LPPlaceDetailsResults *new = [LPPlaceDetailsResults new]; 94 | 95 | [new setResult:[self result]]; 96 | [new setStatusCode:[self statusCode]]; 97 | [new setHtmlAttributions:self.htmlAttributions]; 98 | 99 | return new; 100 | } 101 | 102 | @end -------------------------------------------------------------------------------- /Examples/LPDistanceMatrixService/LPDistanceMatrixService.xcodeproj/xcuserdata/LukaPenger.xcuserdatad/xcschemes/LPDistanceMatrixService.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 | -------------------------------------------------------------------------------- /Examples/LPStaticMapImagesService/LPStaticMapImagesService.xcodeproj/xcuserdata/LukaPenger.xcuserdatad/xcschemes/LPStaticMapImagesService.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 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/Views/LPMainViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /Examples/LPStreetViewImagesService/LPStreetViewImagesService.xcodeproj/xcuserdata/nelson.xcuserdatad/xcschemes/LPStreetViewImagesService.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 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService.xcodeproj/xcuserdata/LukaPenger.xcuserdatad/xcschemes/LPPlacesAutocompleteService.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 | -------------------------------------------------------------------------------- /LPGoogleFunctions/LPGoogleObjects/LPDistanceMatrixElement.m: -------------------------------------------------------------------------------- 1 | // 2 | // LPDistanceMatrixElement.m 3 | // ChargeJuice 4 | // 5 | // Created by Luka Penger on 13/07/14. 6 | // Copyright (c) 2014 izzivizzi. All rights reserved. 7 | // 8 | 9 | #import "LPDistanceMatrixElement.h" 10 | 11 | 12 | @implementation LPDistanceMatrixElement 13 | 14 | - (id)initWithCoder:(NSCoder *)coder 15 | { 16 | self = [LPDistanceMatrixElement new]; 17 | if (self) { 18 | self.statusCode = [coder decodeObjectForKey:@"statusCode"]; 19 | self.distance = [coder decodeObjectForKey:@"distance"]; 20 | self.duration = [coder decodeObjectForKey:@"duration"]; 21 | self.durationInTraffic = [coder decodeObjectForKey:@"duration_in_traffic"]; 22 | } 23 | 24 | return self; 25 | } 26 | 27 | - (void)encodeWithCoder:(NSCoder *)coder 28 | { 29 | [coder encodeObject:self.statusCode forKey:@"statusCode"]; 30 | [coder encodeObject:self.distance forKey:@"distance"]; 31 | [coder encodeObject:self.duration forKey:@"duration"]; 32 | [coder encodeObject:self.durationInTraffic forKey:@"duration_in_traffic"]; 33 | } 34 | 35 | + (id)distanceMatrixElementWithObjects:(NSDictionary *)dictionary 36 | { 37 | LPDistanceMatrixElement *new = [LPDistanceMatrixElement new]; 38 | 39 | if (![dictionary isKindOfClass:[NSNull class]]) { 40 | if (![[dictionary objectForKey:@"status"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"status"]) { 41 | new.statusCode = [NSString stringWithFormat:@"%@", [dictionary objectForKey:@"status"]]; 42 | } 43 | 44 | if (![[dictionary objectForKey:@"distance"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"distance"]) { 45 | new.distance = [LPDistance distanceWithObjects:[dictionary objectForKey:@"distance"]]; 46 | } 47 | 48 | if (![[dictionary objectForKey:@"duration"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"duration"]) { 49 | new.duration = [LPDuration durationWithObjects:[dictionary objectForKey:@"duration"]]; 50 | } 51 | 52 | if (![[dictionary objectForKey:@"duration_in_traffic"] isKindOfClass:[NSNull class]] && [dictionary objectForKey:@"duration_in_traffic"]) { 53 | new.durationInTraffic = [LPDuration durationWithObjects:[dictionary objectForKey:@"duration_in_traffic"]]; 54 | } 55 | } 56 | 57 | return new; 58 | } 59 | 60 | - (NSDictionary *)dictionary 61 | { 62 | NSMutableDictionary *dictionary = [NSMutableDictionary new]; 63 | 64 | [dictionary setObject:[NSString stringWithFormat:@"%@", self.statusCode] forKey:@"statusCode"]; 65 | 66 | if(self.distance && ![self.distance isKindOfClass:[NSNull class]]) { 67 | [dictionary setObject:self.distance.dictionary forKey:@"distance"]; 68 | } 69 | 70 | if(self.duration && ![self.duration isKindOfClass:[NSNull class]]) { 71 | [dictionary setObject:self.duration.dictionary forKey:@"duration"]; 72 | } 73 | 74 | if(self.durationInTraffic && ![self.durationInTraffic isKindOfClass:[NSNull class]]) { 75 | [dictionary setObject:self.durationInTraffic.dictionary forKey:@"duration_in_traffic"]; 76 | } 77 | 78 | 79 | return dictionary; 80 | } 81 | 82 | - (NSString *)description 83 | { 84 | return [self dictionary].description; 85 | } 86 | 87 | - (id)copyWithZone:(NSZone *)zone 88 | { 89 | LPDistanceMatrixElement *new = [LPDistanceMatrixElement new]; 90 | 91 | [new setStatusCode:self.statusCode]; 92 | [new setDistance:self.distance]; 93 | [new setDuration:self.duration]; 94 | [new setDurationInTraffic:self.durationInTraffic]; 95 | 96 | return new; 97 | } 98 | 99 | @end 100 | -------------------------------------------------------------------------------- /Examples/AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIProgressView+AFNetworking.h 2 | // 3 | // Copyright (c) 2013-2014 AFNetworking (http://afnetworking.com) 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #import 24 | 25 | #import 26 | 27 | #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) 28 | 29 | #import 30 | 31 | @class AFURLConnectionOperation; 32 | 33 | /** 34 | This category adds methods to the UIKit framework's `UIProgressView` class. The methods in this category provide support for binding the progress to the upload and download progress of a session task or request operation. 35 | */ 36 | @interface UIProgressView (AFNetworking) 37 | 38 | ///------------------------------------ 39 | /// @name Setting Session Task Progress 40 | ///------------------------------------ 41 | 42 | /** 43 | Binds the progress to the upload progress of the specified session task. 44 | 45 | @param task The session task. 46 | @param animated `YES` if the change should be animated, `NO` if the change should happen immediately. 47 | */ 48 | #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 49 | - (void)setProgressWithUploadProgressOfTask:(NSURLSessionUploadTask *)task 50 | animated:(BOOL)animated; 51 | #endif 52 | 53 | /** 54 | Binds the progress to the download progress of the specified session task. 55 | 56 | @param task The session task. 57 | @param animated `YES` if the change should be animated, `NO` if the change should happen immediately. 58 | */ 59 | #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 60 | - (void)setProgressWithDownloadProgressOfTask:(NSURLSessionDownloadTask *)task 61 | animated:(BOOL)animated; 62 | #endif 63 | 64 | ///------------------------------------ 65 | /// @name Setting Session Task Progress 66 | ///------------------------------------ 67 | 68 | /** 69 | Binds the progress to the upload progress of the specified request operation. 70 | 71 | @param operation The request operation. 72 | @param animated `YES` if the change should be animated, `NO` if the change should happen immediately. 73 | */ 74 | - (void)setProgressWithUploadProgressOfOperation:(AFURLConnectionOperation *)operation 75 | animated:(BOOL)animated; 76 | 77 | /** 78 | Binds the progress to the download progress of the specified request operation. 79 | 80 | @param operation The request operation. 81 | @param animated `YES` if the change should be animated, `NO` if the change should happen immediately. 82 | */ 83 | - (void)setProgressWithDownloadProgressOfOperation:(AFURLConnectionOperation *)operation 84 | animated:(BOOL)animated; 85 | 86 | @end 87 | 88 | #endif 89 | -------------------------------------------------------------------------------- /Examples/LPPlacesAutocompleteService/LPPlacesAutocompleteService/Views/LPCell.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 27 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | --------------------------------------------------------------------------------