Yeni Rotalar Kitaplığı, Maps JavaScript API, eski Directions Hizmeti'nin yerini alan Route sınıfını içerir. 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.
Directions hizmeti (eski) ile Route sınıfı 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.
| Directions Service (Eski) | Route |
|---|---|
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, yol tarifi isteği göndermek için her bir API'de gereken kodu gösterir ve ardından sonucu kullanarak harita üzerinde bir çoklu çizgi ve işaretçiler çizer.
Eski Directions hizmetinde, haritadaki yönlendirici sonuçları temsil eden çoklu çizgileri ve işaretçileri görüntülemek için DirectionsRenderer nesnesi kullanılır. Routes 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 Service'i kullanarak arabayla yol tarifi alır ve ardından harita üzerinde çoklu çizgi ve işaretçiler ç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ı
Aşağıdaki kod, yeni Route sınıfını kullanarak arabayla yol tarifi alır, ardından haritada çoklu çizgi çizmek için createPolylines yöntemini ve haritada işaretçi çizmek için createWaypointAdvancedMarkers yöntemini kullanır.
Yeni Route sınıfı, işaretçileri otomatik olarak oluşturmaz. İşaretçileri oluşturmak için createWaypointAdvancedMarkers yöntemini çağırmanız gerekir.
TypeScript
// Define a routes request. const request: google.maps.routes.ComputeRoutesRequest = { origin: 'Mountain View, CA', destination: 'San Francisco, CA', travelMode: 'DRIVING', fields: ['path'], // Request fields needed to draw polylines. }; // Call computeRoutes to get the directions. const { routes } = await Route.computeRoutes(request); // Use createPolylines to create polylines for the route. if (!routes) { console.warn('No routes found.'); return; } 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.map = map; });
JavaScript
// Define a routes request. const request = { origin: 'Mountain View, CA', destination: 'San Francisco, CA', travelMode: 'DRIVING', fields: ['path'], // Request fields needed to draw polylines. }; // Call computeRoutes to get the directions. const { routes } = await Route.computeRoutes(request); // Use createPolylines to create polylines for the route. if (!routes) { console.warn('No routes found.'); return; } 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.map = map; });