वेपॉइंट मैनेज करें

इस दस्तावेज़ में बताया गया है कि दो सुविधाओं का इस्तेमाल करके, अपने ऐप्लिकेशन के लिए वेपॉइंट की सेटिंग को कैसे मैनेज किया जा सकता है:

  • सड़क के किनारे के हिसाब से रूटिंग की प्राथमिकताएं
  • स्टॉपओवर

सड़क के किनारे के लिए रूटिंग की प्राथमिकता सेट करना

डिफ़ॉल्ट रूप से, iOS के लिए Navigation SDK, किसी वेपॉइंट तक पहुंचने का सबसे तेज़ रास्ता ढूंढता है. हालांकि, इससे यह गारंटी नहीं मिलती कि उपयोगकर्ता सड़क के अपनी पसंद के हिस्से पर पहुंचेगा. उदाहरण के लिए, सड़क का वह हिस्सा जहां राइड शेयर करने वाले ड्राइवर का ग्राहक इंतज़ार कर रहा है. सड़क के किनारे के लिए रूटिंग की प्राथमिकता सुविधा की मदद से, यह पक्का किया जा सकता है कि वाहन सड़क के सही किनारे पर पहुंचे.

यह कैसे काम करता है

उस स्टॉप के लिए वेपॉइंट बनाते समय, सड़क के किसी खास हिस्से पर पहुंचने की प्राथमिकता सेट की जाती है. प्राथमिकता को दो में से किसी एक तरीके से तय किया जा सकता है.

सड़क के एक ही तरफ़

वेपॉइंट के भौगोलिक निर्देशांक दें. इसके बाद, फ़्लैग preferSameSideOfRoad सेट करें. इससे पता चलता है कि आपको सड़क के उसी तरफ़ पहुंचना है जिस तरफ़ वेपॉइंट है. यह वेपॉइंट, सबसे नज़दीकी फ़ुटपाथ पर स्नैप किया गया है.

(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
                                  title:(NSString *)title
                   preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;

पहुंचने की दिशा सेट करना

आपको वेपॉइंट के भौगोलिक निर्देशांक देने होंगे. इसके बाद, आपको अराइवल हेडिंग preferredSegmentHeading देनी होगी, जो सड़क के उसी तरफ़ ट्रैफ़िक के फ़्लो की दिशा से मेल खाती हो जिस तरफ़ मंज़िल है.

(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
                                  title:(NSString *)title
                preferredSegmentHeading:(int32_t)preferredSegmentHeading;

Navigation SDK, वेपॉइंट के सबसे नज़दीक मौजूद सड़क के हिस्से को चुनता है. इस हिस्से में लेन की दिशा, सड़क के उस हिस्से के साथ अलाइन होती है जिस पर वेपॉइंट मौजूद होता है. यह अलाइनमेंट +/- 55 डिग्री के अंदर होता है.

स्टॉपओवर की प्राथमिकता सेट करना

कुछ जगहों पर, उपयोगकर्ताओं के लिए सुरक्षित तरीके से रुकना संभव नहीं होता. उदाहरण के लिए, ऊंचाई वाले इलाके, फ़ेरी, अंडरग्राउंड जगहें, और सीमित ऐक्सेस वाले अन्य इलाके. स्टॉपओवर सुविधा, वेपॉइंट को आस-पास की किसी जगह पर रिलोकेट कर देती है. ऐसा तब होता है, जब वेपॉइंट की जगह, उपयोगकर्ता के रुकने के लिए सही न हो. vehicleStopover को YES पर सेट करने पर, रास्ते का हिसाब लगाते समय वेपॉइंट अपने-आप दूसरी जगह पर सेट हो जाता है. हालांकि, इसके लिए कोई दूसरी जगह उपलब्ध होनी चाहिए.

यह कैसे काम करता है

स्टॉपओवर के लिए प्राथमिकता तब सेट की जाती है, जब उस स्टॉप के लिए वेपॉइंट बनाया जाता है. इसके लिए, GMSNavigationMutableWaypoint पर स्टॉपओवर की प्राथमिकता सेट करें, जैसा कि इस उदाहरण में दिखाया गया है:

Swift

let location = CLLocationCoordinate2D(latitude: 47.67, longitude: -122.20)
let waypoint = GMSNavigationMutableWaypoint(location: location, title: "waypoint from location")!
waypoint.vehicleStopover = true
mapView.navigator?.setDestinations([waypoint], routingOptions: routingOptions, callback: {...})

Objective-C

CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20);
GMSNavigationMutableWaypoint *waypoint =
    [[GMSNavigationMutableWaypoint alloc] initWithLocation:location
                                                     title:@"waypoint from location"];
waypoint.vehicleStopover = YES;
[_mapView.navigator setDestinations:@[waypoint1]
                     routingOptions:routingOptions
                           callback:^(GMSRouteStatus routeStatus){...}];