Condividi tramite


Impostare lo stile della mappa in iOS SDK (anteprima)

Questo articolo illustra due modi per impostare gli stili della mappa usando Mappe di Azure iOS SDK. Mappe di Azure ha sei stili di mappe diversi tra cui scegliere. Per altre informazioni sugli stili di mappa supportati, vedere stili di mappa supportati in Mappe di Azure.

Nota

ritiro di iOS SDK Mappe di Azure

Il Mappe di Azure Native SDK per iOS è ora deprecato e verrà ritirato il 3/31/25. Per evitare interruzioni del servizio, eseguire la migrazione all'SDK Web di Mappe di Azure entro il 3/31/25. Per altre informazioni, vedere La guida alla migrazione Mappe di Azure di iOS SDK per iOS.

Prerequisiti

Impostare lo stile della mappa nell'init del controllo mappa

È possibile impostare uno stile mappa nell'init del controllo mappa. Il codice seguente imposta la posizione centrale, il livello di zoom e lo stile della mappa.

MapControl(options: [
    CameraOption.center(lat: 47.602806, lng: -122.329330),
    CameraOption.zoom(12),
    StyleOption.style(.grayscaleDark)
])

Lo screenshot seguente mostra il codice precedente che mostra una mappa stradale con lo stile scuro in scala di grigi.

Screenshot di una mappa con lo stile della mappa stradale scura in scala di grigi.

Impostare lo stile della mappa tramite setStyleOptions il metodo

Lo stile della mappa può essere impostato a livello di codice usando il setStyleOptions metodo della mappa. Il codice seguente imposta la posizione centrale e il livello di zoom usando il metodo maps setCameraOptions e lo stile della mappa su .satelliteRoadLabels.

mapControl.onReady { map in

    //Set the camera of the map.
    map.setCameraOptions([
        .center(lat: 47.64, lng: -122.33),
        .zoom(14)
    ])

    //Set the style of the map.
    map.setStyleOptions([.style(.satelliteRoadLabels)])
}

Lo screenshot seguente mostra il codice precedente che mostra una mappa con lo stile delle etichette stradali satellite.

Screenshot di una mappa con lo stile delle etichette stradali satellite.

Impostare la fotocamera della mappa

La fotocamera della mappa controlla quale parte del mondo viene visualizzata nel viewport mappa. Esistono due metodi principali per impostare la posizione della mappa; utilizzando il centro e lo zoom o passando un rettangolo di selezione. Il codice seguente illustra come impostare tutte le opzioni della fotocamera facoltative quando si usano center e zoom.

//Set the camera of the map using center and zoom.
map.setCameraOptions([
    .center(lat: 47.64, lng: -122.33),
    .zoom(14),
    .pitch(45),
    .bearing(90),
    .minZoom(10),
    .maxZoom(14)
])

Spesso è consigliabile concentrare la mappa su un set di dati. Un rettangolo di selezione può essere calcolato dalle caratteristiche usando il BoundingBox.fromData(_:) metodo e può essere passato all'opzione bounds della fotocamera della mappa. Quando si imposta una visualizzazione mappa in base a un rettangolo delimitatore, spesso è utile specificare un padding valore per tenere conto delle dimensioni dei punti dati di cui viene eseguito il rendering come bolle o simboli. Il codice seguente mostra come impostare tutte le opzioni della fotocamera facoltative quando si usa un rettangolo di selezione per impostare la posizione della fotocamera.

//Set the camera of the map using a bounding box.
map.setCameraBoundsOptions([
    .bounds(
        BoundingBox(
            sw: CLLocationCoordinate2D(latitude: 47.4333, longitude: -122.4594),
            ne: CLLocationCoordinate2D(latitude: 47.75758, longitude: -122.21866)
        )
    ),
    .padding(20),
    .maxZoom(14)
])

Le proporzioni di un rettangolo di selezione potrebbero non corrispondere alle proporzioni della mappa, in quanto tale la mappa mostra spesso l'area del rettangolo di delimitazione completa e spesso sono solo strette verticalmente o orizzontalmente.

Aggiungere un'animazione alla visualizzazione della mappa

Quando si impostano le opzioni della fotocamera della mappa, è anche possibile usare le opzioni di animazione per creare una transizione tra la visualizzazione mappa corrente e quella successiva. Queste opzioni specificano il tipo di animazione e la durata che deve richiedere per spostare la fotocamera.

Opzione Descrizione
animationDuration(_ duration: Double) Specifica per quanto tempo la fotocamera viene animata tra le visualizzazioni in millisecondi (ms).
animationType(_ animationType: AnimationType) Specifica il tipo di transizione dell'animazione da eseguire.

- .jump - una modifica immediata.
- .ease - modifica graduale delle impostazioni della fotocamera.
- .fly - modifica graduale delle impostazioni della fotocamera dopo un arco simile a un volo.

Il codice seguente illustra come animare la visualizzazione mappa usando un'animazione .fly per una durata di tre secondi.

map.setCameraOptions([
    .animationType(.fly),
    .animationDuration(3000)
    .center(lat: 47.6, lng: -122.33),
    .zoom(12),
])

L'animazione seguente illustra il codice precedente che anima la visualizzazione mappa da New York a Seattle.

Mappa che anima la fotocamera da New York a Seattle.

Informazioni aggiuntive

Per altri esempi di codice da aggiungere alle mappe, vedere gli articoli seguenti: