Вопрос:

Swift 4 MKMapView изменить стиль карты, как GoogleMap

ios google-maps mapkit mkmapview swift4

2272 просмотра

4 ответа

4673 Репутация автора

Я использую MKMapView в моем приложении. Теперь я хочу изменить стиль карты на темную тему.

В GoogleMap мы можем изменить стиль карты. Итак, как мне добиться стиля в MKMapView.

Пожалуйста, помогите мне.

Автор: Ekta Padaliya Источник Размещён: 04.01.2018 11:13

Ответы (4)


0 плюса

230 Репутация автора

В MKMapView вы не можете изменить тему карты яблока. Вы можете изменить тип карты: Пример для спутника:

self.mapView?.mapType = .satellite

Вы также можете использовать плитки от другого поставщика.

class YourMapViewController: UIViewController, MKMapViewDelegate {

    @IBOutlet var mapView : MKMapView?

    override func viewDidLoad() {
        super.viewDidLoad()

        self.mapView?.delegate = self
        self.tilesRenderer.reloadData()
        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    lazy var tilesRenderer : MKTileOverlayRenderer! = {

        let urlTemplate = "The tiles URL"  // URL template is a string where the substrings "{x}", "{y}", "{z}", and "{scale}" are replaced with values from a tile path to create a URL to load. For example: http://server/path?x={x}&y={y}&z={z}&scale={scale}.
        let overlay = MKTileOverlay.init(urlTemplate: urlTemplate)
        overlay.isGeometryFlipped = false
        overlay.canReplaceMapContent = true
        self.mapView?.add(overlay, level: MKOverlayLevel.aboveLabels)

        let renderer = MKTileOverlayRenderer.init(tileOverlay: overlay)
        return renderer
    }()

    public func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer{

        return self.tilesRenderer
    }
}

Другой альтернативой может быть использование GoogleMap iOS SDK: GoogleMaps iOS SDK

Автор: Pierre Perrin Размещён: 04.01.2018 11:25

1 плюс

3874 Репутация автора

Вы можете достичь Dark Themeв MapView с помощью Google Maps API. Посмотрите эту документацию для оформления MapView https://developers.google.com/maps/documentation/ios-sdk/styling .

С помощью мастера стилей API Карт Google вы можете настроить темы, дороги, метки и т. Д. Затем добавьте новый файл в свой проект с именем style.jsonи вставьте этот собственный стиль.

См. Ссылку ниже для выбора тем карты, например, и Standard, Dark, Silver, Night, Retroт. Д. Посмотрите https://mapstyle.withgoogle.com, чтобы создать стиль карты для MapView.

Вот пример репозитория на GitHub, он демонстрирует использование стилей MapView. Смотрите этот средний пост тоже

Автор: Vinoth Vino Размещён: 04.01.2018 05:25

0 плюса

407 Репутация автора

Вы можете получить слишком много пользовательских стилей JSON-файл из шикарных карт

https://snazzymaps.com/

Автор: midhun p Размещён: 28.08.2018 11:12

1 плюс

904 Репутация автора

Вы можете попробовать это GitHub репо.

https://github.com/fmo91/MapKitGoogleStyler

Автор: TheLastSummer Размещён: 03.05.2019 06:41
Вопросы из категории :
32x32