All Projects → thepeaklab → GoogleMapsTileOverlay

thepeaklab / GoogleMapsTileOverlay

Licence: MIT license
GoogleMapsTileOverlay lets you customize Apple Maps MKMapView with the Google Maps StylingWizard

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to GoogleMapsTileOverlay

react-tv-navigation
React Navigation for TVs
Stars: ✭ 64 (-5.88%)
Mutual labels:  tvos
RFKit
Toolkit for daily Cocoa development. Since 2012.
Stars: ✭ 20 (-70.59%)
Mutual labels:  tvos
SwiftKit
SwiftKit adds extra functionality to the Swift programming language.
Stars: ✭ 47 (-30.88%)
Mutual labels:  tvos
CompositionalLayoutDSL
CompositionalLayoutDSL, library to simplify the creation of UICollectionViewCompositionalLayout. It wraps the UIKit API and makes the code shorter and easier to read.
Stars: ✭ 47 (-30.88%)
Mutual labels:  tvos
articles-ko
Articles for NSHipster.co.kr
Stars: ✭ 18 (-73.53%)
Mutual labels:  tvos
SwiftBuilder
SwiftBuilder is a fast way to assign new value to the property of the object.
Stars: ✭ 26 (-61.76%)
Mutual labels:  tvos
fingerprintjs-pro-ios
Official iOS/tvOS agent & SDK for accurate device identification, created for the Fingerprint Pro identification API.
Stars: ✭ 35 (-48.53%)
Mutual labels:  tvos
SDWebImageSVGKitPlugin
A SDWebImage plugin to support SVG with SVGKit and category
Stars: ✭ 15 (-77.94%)
Mutual labels:  tvos
WWDCNotes
WWDCNotes.com content
Stars: ✭ 343 (+404.41%)
Mutual labels:  tvos
svelte-googlemaps
Svelte Google Maps Components
Stars: ✭ 62 (-8.82%)
Mutual labels:  googlemaps
Orchard
Device identification in Swift and Objective-C for iOS, watchOS, and tvOS.
Stars: ✭ 15 (-77.94%)
Mutual labels:  tvos
wwdc2018
You read my developer triceraptus migration notes from dub dub dc 2018
Stars: ✭ 48 (-29.41%)
Mutual labels:  tvos
SkiaKit
Swift Bindings to the Skia 2D graphics Library
Stars: ✭ 95 (+39.71%)
Mutual labels:  tvos
Outlaw
JSON mapper for macOS, iOS, tvOS, and watchOS
Stars: ✭ 24 (-64.71%)
Mutual labels:  tvos
SDWebImagePhotosPlugin
A SDWebImage plugin to support Photos framework image loading
Stars: ✭ 47 (-30.88%)
Mutual labels:  tvos
xharness
C# command line tool for running tests on Android / iOS / tvOS devices and simulators
Stars: ✭ 123 (+80.88%)
Mutual labels:  tvos
MKMapView-ZoomLevel
MKMapView category with zoom level extension.
Stars: ✭ 23 (-66.18%)
Mutual labels:  mapkit
SwiftCurrent
A library for managing complex workflows in Swift
Stars: ✭ 286 (+320.59%)
Mutual labels:  tvos
GoogleMaps-SP
Swift Package for Google Maps iOS SDK
Stars: ✭ 105 (+54.41%)
Mutual labels:  googlemaps
KinopubTV
Kinopub for tvOS
Stars: ✭ 18 (-73.53%)
Mutual labels:  tvos

GoogleMapsTileOverlay for MapKit

Swift Version PackageManager Cocoapods Platforms License Twitter: @thepeaklab

GoogleMapsTileOverlay lets you customize Apple Maps MKMapView with the Google Maps StylingWizard.

Install

Swift Package Manager

Add this line to your depedencies in Package.swift

.package("https://github.com/thepeaklab/GoogleMapsTileOverlay", from: "0.5.0")

Carthage

To install GoogleMapsTileOverlay with Carthage, setup Carthage for your project as described in the Quick Start.

Then add this line to your Cartfile:

github "thepeaklab/GoogleMapsTileOverlay" ~> 0.4.1

CocoaPods

Install CocoaPods if you haven't already

Add this in your Podfile for your target:

pod 'GoogleMapsTileOverlay', '~> 0.4.1'

And install with:

pod install

Example

You can customize Apple Maps to match the design of your App or Game:

Example Project

Usage

  1. Create MapStyle with the Google Maps StylingWizard and save it to a JSON-File
  2. Add JSON-File to your XCode Project
  3. In your ViewController:
import GoogleMapsTileOverlay

Add custom overlay to your MKMapView:

guard let jsonURL = Bundle.main.url(forResource: "MapStyle", withExtension: "json") else { return }

let tileOverlay = try? GoogleMapsTileOverlay(jsonURL: jsonURL)
tileOverlay.canReplaceMapContent = true
mapView.addOverlay(tileOverlay, level: .aboveRoads)

Add delegate for your MKMapView:

mapView.delegate = self
extension YourViewController: MKMapViewDelegate {

    func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
        if let tileOverlay = overlay as? MKTileOverlay {
            return MKTileOverlayRenderer(tileOverlay: tileOverlay)
        }
        return MKOverlayRenderer(overlay: overlay)
    }

}

Known Issues

  1. Labels in iOS 13 On iOS 13 the labels on the map and the annotations are not visible, even when using the level aboveRoads. This bug is already reported to Apple and will hopefully be solved in future versions of iOS.

Need Help?

Please submit an issue on GitHub.

License

This project is licensed under the terms of the MIT license. See the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].