Maps JavaScript API'nin yeni Rotalar Kitaplığı, Route
sınıfını içerir. Bu sınıf, eski Directions Hizmeti'nin yerini alır. Bu sayfada, eski yol tarifi hizmeti ile yeni Route
sınıfı arasındaki farklar açıklanmakta ve karşılaştırma için bazı kodlar verilmektedir.
Yol tarifi hizmeti (Eski) ve Rota sınıfı (Beta) karşılaştırması
İstek parametreleri
Aşağıdaki tabloda, eski Directions hizmeti ve Route
sınıfı için istek parametreleri karşılaştırılmaktadır.
Yöntem karşılaştırması
Aşağıdaki tabloda, eski Directions hizmeti ve Route
sınıfı için temel yöntemler karşılaştırılmaktadır.
Yol Tarifi Hizmeti (Eski) | Route (Beta) |
---|---|
route() yöntemi |
computeRoutes() yöntemi |
DirectionsRenderer.setDirections() yöntemi |
createPolylines() yöntemi,
createWaypointAdvancedMarkers() yöntemi
|
Kod karşılaştırması
Bu bölümde, eski Directions hizmeti ile yeni Route
sınıfı arasındaki farkları göstermek için iki benzer kod parçası karşılaştırılmaktadır. Kod snippet'leri, her bir API'de yol tarifi isteğinde bulunmak için gereken kodu gösterir ve ardından sonucu, haritada bir poliline ve işaretçiler çizmek için kullanır.
Eski yol tarifi hizmetinde, bir haritada yol tarifi sonuçlarını göstermek için çoklu çizgileri ve işaretçileri görüntülemek üzere DirectionsRenderer
nesnesi kullanılır. Rotalar kitaplığında, DirectionsRenderer
nesnesi createPolylines()
ve createWaypointAdvancedMarkers()
yöntemleriyle değiştirildi. Bu sayfada, eski Directions Service ile yeni Route
sınıfı arasındaki farklar açıklanmakta ve karşılaştırma için bazı kodlar verilmektedir.
Yol tarifi alın
Yol tarifi hizmeti (Eski)
Aşağıdaki kod, eski Directions hizmetini kullanarak yol tarifi alır ve ardından haritada bir çoklu çizgi ve işaretçi çizmek için DirectionsRenderer
kullanır:
// Define a simple request. var request = { origin: 'Mountain View, CA', destination: 'San Francisco, CA', travelMode: 'DRIVING' }; // Call the Directions Service to get the directions. directionsService.route(request, function(result, status) { if (status == 'OK') { directionsRenderer.setDirections(result); // Add polyline and markers to the map. } });
Rota sınıfı (Beta)
Aşağıdaki kod, yeni Rota sınıfını kullanarak yol tarifi alır, ardından createPolylines
yöntemini kullanarak haritada bir çoklu çizgi çizer ve createWaypointAdvancedMarkers
yöntemini kullanarak haritada işaretçiler çizer.
Yeni Route
sınıfı, işaretçileri otomatik olarak oluşturmaz. İşaretçileri oluşturmak için createWaypointAdvancedMarkers
numaralı telefonu aramanız gerekir.
// Define a simple request. const request = { origin: 'Mountain View, CA', destination: 'San Francisco, CA', travelMode: 'DRIVING', fields: ['path', 'legs'], // Request fields needed to draw polylines. }; // Call computeRoutes to get the directions. const {routes} = await Route.computeRoutes(request); // Use createPolylines to create a polyline for the route. mapPolylines = routes[0].createPolylines(); // Add polylines to the map mapPolylines.forEach((polyline) => polyline.setMap(map)); // Create markers to start and end points. const markers = await routes[0].createWaypointAdvancedMarkers(); // Add markers to the map markers.forEach((marker) => marker.setMap(map));