Zanim dostosujesz linie (lub znaczniki) trasy, musisz najpierw zainicjować opcje dostosowywania interfejsu.
Inicjowanie opcji dostosowywania interfejsu
Zalecane wywołanie zwrotne służące do wstępnego ustawiania opcji dostosowywania interfejsu jest deklarowane w GMTCMapViewDelegate
. Wywołanie zwrotne mapViewDidInitialize
jest wywoływane, gdy obiekt GMTCMapView
jest gotowy do renderowania mapy.
Koordynator stylu został zainicjowany, ale nie ma żadnych elementów interfejsu użytkownika.
Swift
/** ViewController.swift */
class ViewController: UIViewController, GMTCMapViewDelegate {
// MARK: - GMTCMapViewDelegate
func mapViewDidInitialize(_ mapview: GMTCMapView) {
// Set the UI customization options here.
}
}
Objective-C
/** ViewController.m */
@interface ViewController () <GMTCMapViewDelegate>
#pragma mark GMTCMapViewDelegate
- (void)mapViewDidInitialize:(GMTCMapView *)mapview {
// Set the UI customization options here.
}
Dostosowywanie linii złożonych
Dostosowywanie ścieżki wielopunktowej jest ustawiane za pomocą parametru GMTCConsumerMapStyleCoordinator#setPolylineStyleOptions(_:polylineType:)
.
Poniższy przykład pokazuje, jak ustawić opcje stylu wieloboku:
Typy linii złożonych
Możesz dostosować te typy łańcuchów łatwych:
GMTCPolylineType.activeRoute
: trasa, którą podróżuje pojazd. kolejne miejsce pasażera, niezależnie od tego, czy jest to odbiór, czy wyjazd.GMTCPolylineType.remainingRoute
: pozostały segment podróży. gdy pojazd ukończyGMTCPolylineType.activeRoute
.
Oba te typy są wyświetlane na wspólnej ścieżce.
Właściwości linii łamanej
Właściwości, które możesz dostosować dla każdej linii łamanej, są podzbiorem funkcji
miejsca zakwaterowania w Mapach Google
PolylineOptions
Pakiet SDK dla klientów indywidualnych
GMTCPolylineStyleOptions
mają następujące cechy:
- Utworzono za pomocą inicjatora.
- Może być stała lub zmienna, jeśli chcesz podać niestandardowe wartości dla dla dowolnej usługi.
- Mają wartości domyślne.
Możesz dostosować te właściwości:
color
width
isVisible
: aby wyłączyć linię łamaną, ustaw wartośćisVisible
nafalse
.isTrafficEnabled
: ta właściwość jest domyślnie ustawiona nafalse
.
Przykład
Swift
/** MapViewController.swift */
private func updatePolylineUIOptions() {
// Get the GMTCConsumerMapStyleCoordinator
let consumerMapStyleCoordinator = mapView.consumerMapStyleCoordinator
// The polyline type that you would like to set custom UI options for.
let customizablePolylineType = GMTCPolylineType.activeRoute
// Initializing polyline options with default values (immutable version).
let polylineStyleOptions = GMTCPolylineStyleOptions()
consumerMapStyleCoordinator.setPolylineStyleOptions(
polylineStyleOptions, polylineType: customizablePolylineType)
// Initializing polyline options with custom values (mutable version).
let mutablePolylineStyleOptions = GMTCMutablePolylineStyleOptions()
mutablePolylineStyleOptions.isVisible = true
mutablepolylineStyleOptions.strokeWidth = 8.0
mutablepolylineStyleOptions.strokeColor = .blue
mutablepolylineStyleOptions.zIndex = 1000
mutablepolylineStyleOptions.isGeodesic = true
mutablePolylineStyleOptions.isTrafficEnabled = true
mutablePolylineStyleOptions.setTrafficColorFor(.slow, color: .yellow)
mutablePolylineStyleOptions.setTrafficColorFor(.trafficJam, color: .purple)
consumerMapStyleCoordinator.setPolylineStyleOptions(
mutablePolylineStyleOptions, polylineType: customizablePolylineType)
// Reset polyline options to default values.
consumerMapStyleCoordinator.setPolylineStyleOptions(
nil, polylineType: customizablePolylineType)
}
Objective-C
/** MapViewController.m */
- (void)updatePolylineUIOptions {
// Get the GMTCConsumerMapStyleCoordinator
GMTCConsumerMapStyleCoordinator *consumerMapStyleCoordinator = [_mapView consumerMapStyleCoordinator];
// The polyline type that you would like to set custom UI options for.
GMTCPolylineType customizablePolylineType = GMTCPolylineTypeActiveRoute;
// Initializing polyline options with default values (immutable version).
GMTCPolylineStyleOptions *polylineStyleOptions = [[GMTCPolylineStyleOptions alloc] init];
[consumerMapStyleCoordinator setPolylineStyleOptions:polylineStyleOptions
polylineType:customizablePolylineType];
// Initializing polyline options with custom values (mutable version).
GMTCMutablePolylineStyleOptions *mutablePolylineStyleOptions = [[GMTCMutablePolylineStyleOptions alloc] init];
mutablePolylineStyleOptions.isVisible = YES;
mutablepolylineStyleOptions.strokeWidth = 8.0;
mutablepolylineStyleOptions.strokeColor = [UIColor blueColor];
mutablepolylineStyleOptions.zIndex = 1000;
mutablepolylineStyleOptions.isGeodesic = YES;
mutablePolylineStyleOptions.isTrafficEnabled = YES;
[mutablePolylineStyleOptions setTrafficColorForSpeed:GMTSSpeedTypeSlow color:[UIColor yellowColor]];
[mutablePolylineStyleOptions setTrafficColorForSpeed:GMTSSpeedTypeTrafficJam color:[UIColor purpleColor]];
[consumerMapStyleCoordinator setPolylineStyleOptions:mutablePolylineStyleOptions
polylineType:customizablePolylineType];
// Reset polyline options to default values.
[consumerMapStyleCoordinator setPolylineStyleOptions:nil
polylineType:customizablePolylineType];
}
Linie łamane z uwzględnieniem natężenia ruchu
Warstwa ruchu ścieżki złożonej jest domyślnie wyłączona. Po włączeniu tej opcji za pomocą polylineStyleOptions.isTrafficEnabled = true
segmenty reprezentujące odcinki nietypowego ruchu są wyświetlane jako trasa.
Warunki na drodze są przedstawiane jako 1 z 4 prędkości:
GMTSSpeedType.noData
GMTSSpeedType.normal
GMTSSpeedType.slow
GMTSSpeedType.trafficJam
Za pomocą atrybutu setTrafficColorFor(_:color:)
możesz dostosować kolor reprezentujący poszczególne klasyfikacje prędkości.