Za pomocą biblioteki śledzenia floty w JavaScript możesz dostosowywać wygląd znaczników dodawanych do mapy. Możesz to zrobić, określając dostosowania markerów, które biblioteka śledzenia floty zastosuje przed dodaniem markerów do mapy i przy każdej aktualizacji markera. Wygląd znaczników możesz dostosować na te sposoby:
Markery stylu na podstawie typu: określ obiekt
MarkerOptionsdo stylizowania markerów tego samego typu. Wprowadzone zmiany są stosowane po utworzeniu każdego znacznika, co powoduje zastąpienie opcji domyślnych. Przykłady znajdziesz w sekcji Stylizowanie znaczników na podstawie typu w tym przewodniku.Stylizowanie znaczników na podstawie danych: określ funkcję dostosowywania na podstawie danych, a także dodaj interaktywność do znaczników, np. obsługę kliknięć. Stylizację możesz dostosować na podstawie danych z systemu śledzenia floty lub ze źródeł zewnętrznych:
Dane ze śledzenia floty: śledzenie floty przekazuje do funkcji dostosowywania dane, w tym typ obiektu, który reprezentuje znacznik: pojazd, przystanek lub zadanie. Styl znacznika zmieni się wtedy w zależności od jego bieżącego stanu. Może to być np. liczba pozostałych przystanków lub rodzaj zadania.
Źródła zewnętrzne: możesz połączyć dane śledzenia floty z danymi ze źródeł zewnętrznych w stosunku do Fleet Engine i na podstawie tych informacji określić styl znacznika.
Przykłady znajdziesz w artykule Stylizowanie markerów na podstawie danych.
Dodawanie obsługi kliknięć do znaczników: przykłady znajdziesz w sekcji Dodawanie obsługi kliknięć.
Filtrowanie widocznych znaczników: filtruj znaczniki, które mają się pojawiać, za pomocą funkcji filtrowania dostępnych w usłudze lokalizacyjnej JavaScript. Na przykład:
Używanie dostosowywania markerów do śledzenia pojazdu dostarczającego zaplanowane zadania: możesz dostosowywać markery, aby śledzić pojazdy. Więcej informacji znajdziesz w artykule Śledzenie pojazdu dostawczego za pomocą dostosowywania markerów.
Opcje dostosowywania znacznika
Biblioteka śledzenia floty udostępnia te parametry dostosowywania:
Parametry dostosowywania przejazdów na żądanie
Parametry dostosowywania zaplanowanych zadań
Stylizowanie znaczników na podstawie typu
Poniższy przykład pokazuje, jak skonfigurować styl znacznika pojazdu za pomocą obiektu MarkerOptions. Aby dostosować styl dowolnego znacznika, użyj dowolnej z opcji wymienionych w sekcji Opcje dostosowywania znaczników.
Przykład przejazdów na żądanie
JavaScript
vehicleMarkerCustomization = {
cursor: 'grab'
};
TypeScript
vehicleMarkerCustomization = {
cursor: 'grab'
};
Przykład zaplanowanych zadań
JavaScript
deliveryVehicleMarkerCustomization = {
cursor: 'grab'
};
TypeScript
deliveryVehicleMarkerCustomization = {
cursor: 'grab'
};
Markery stylu na podstawie danych
W przykładzie poniżej pokazujemy, jak skonfigurować styl znacznika pojazdu za pomocą funkcji dostosowywania. Postępuj zgodnie z tym wzorcem, aby dostosować styl dowolnego znacznika na podstawie danych, korzystając z dowolnej z opcji wymienionych w sekcji Opcje dostosowywania znaczników powyżej.
Przykład przejazdów na żądanie
JavaScript
vehicleMarkerCustomization =
(params) => {
const remainingWaypoints = params.vehicle.waypoints.length;
params.marker.setLabel(`${remainingWaypoints}`);
};
TypeScript
vehicleMarkerCustomization =
(params: VehicleMarkerCustomizationFunctionParams) => {
var remainingWaypoints = params.vehicle.waypoints.length;
params.marker.setLabel(`${remainingWaypoints}`);
};
Przykład zaplanowanych zadań
JavaScript
deliveryVehicleMarkerCustomization =
(params) => {
var stopsLeft = params.vehicle.remainingVehicleJourneySegments.length;
params.marker.setLabel(`${stopsLeft}`);
};
TypeScript
deliveryVehicleMarkerCustomization =
(params: DeliveryVehicleMarkerCustomizationFunctionParams) => {
var stopsLeft = params.vehicle.remainingVehicleJourneySegments.length;
params.marker.setLabel(`${stopsLeft}`);
};
Dodawanie obsługi kliknięć do znaczników
W przykładzie poniżej pokazujemy, jak dodać obsługę kliknięć do znacznika pojazdu. Postępuj zgodnie z tym wzorcem, aby dodać obsługę kliknięć do dowolnego znacznika za pomocą dowolnej z opcji wymienionych w sekcji Opcje dostosowywania znaczników powyżej.
Przykład przejazdów na żądanie
JavaScript
vehicleMarkerCustomization =
(params) => {
if (params.isNew) {
params.marker.addListener('click', () => {
// Perform chosen action.
});
}
};
TypeScript
vehicleMarkerCustomization =
(params: VehicleMarkerCustomizationFunctionParams) => {
if (params.isNew) {
params.marker.addListener('click', () => {
// Perform chosen action.
});
}
};
Przykład zaplanowanych zadań
JavaScript
deliveryVehicleMarkerCustomization =
(params) => {
if (params.isNew) {
params.marker.addListener('click', () => {
// Perform chosen action.
});
}
};
TypeScript
deliveryVehicleMarkerCustomization =
(params: DeliveryVehicleMarkerCustomizationFunctionParams) => {
if (params.isNew) {
params.marker.addListener('click', () => {
// Perform chosen action.
});
}
};
Filtrowanie widocznych znaczników
Jeśli musisz użyć znaku setVisible, postępuj zgodnie z tym wzorcem, aby filtrować dowolne znaczniki za pomocą dowolnej z opcji wymienionych powyżej w sekcji Opcje dostosowywania znaczników.
Przykład przejazdów na żądanie
JavaScript
vehicleMarkerCustomization =
(params) => {
var remainingWaypoints = params.vehicle.remainingWaypoints.length;
if (remainingWaypoints > 10) {
params.marker.setVisible(false);
}
};
TypeScript
vehicleMarkerCustomization =
(params: VehicleMarkerCustomizationFunctionParams) => {
var remainingWaypoints = params.vehicle.remainingWaypoints.length;
if (remainingWaypoints > 10) {
params.marker.setVisible(false);
}
};
Przykład zaplanowanych zadań
JavaScript
deliveryVehicleMarkerCustomization =
(params) => {
var stopsLeft = params.vehicle.remainingVehicleJourneySegments.length;
if (stopsLeft > 10) {
params.marker.setVisible(false);
}
};
TypeScript
deliveryVehicleMarkerCustomization =
(params: DeliveryVehicleMarkerCustomizationFunctionParams) => {
var stopsLeft = params.vehicle.remainingVehicleJourneySegments.length;
if (stopsLeft > 10) {
params.marker.setVisible(false);
}
};