3 votes

Stylisation des cartes Swift avec GMS

J'utilise GMS (Google Maps SDK) dans mon projet actuel, et cela ressemble à ceci

Est-il possible de style la carte à quelque chose comme ça ? et continuer à utiliser GMS .

5voto

Zarif Ahmed Points 238

Vous pouvez personnaliser la carte comme vous le souhaitez ici : https://mapstyle.withgoogle.com/

Une fois que vous avez terminé la personnalisation, copiez le json et ajoutez-le à votre projet dans un fichier appelé style.json

Attribuez ensuite ce style à votre carte en tant que :

do {
            // Set the map style by passing the URL of the local file.
            if let styleURL = Bundle.main.url(forResource: "style", withExtension: "json") {
                mapView.mapStyle = try GMSMapStyle(contentsOfFileURL: styleURL)

            } else {
                NSLog("Unable to find style.json")
            }
        } catch {
            NSLog("One or more of the map styles failed to load. \(error)")
        }

0voto

Marco Santarossa Points 3260

Vous devez utiliser tuiles personnalisées :

class TestTileLayer: GMSSyncTileLayer {
 override func tileForX(x: UInt, y: UInt, zoom: UInt) -> UIImage? {
    // On every odd tile, render an image.
    let image = "\(x)-\(y)-\(zoom)"
    return UIImage(named: image)
  }
}

les tuiles peuvent provenir d'un serveur avec une requête http ou de votre bundle. Fondamentalement, une tuile est une image qui montre un morceau de la carte à l'endroit où elle se trouve. x - z avec un zoom .

l'usage :

let layer = TestTileLayer()
layer.map = mapView

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X