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

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

  • सड़क के किस ओर से जाना है, इसके लिए रास्तों से जुड़ी प्राथमिकताएं
  • स्टॉपओवर

सड़क के किस ओर से रूट करना है, इसके लिए प्राथमिकता सेट करना

डिफ़ॉल्ट रूप से, 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){...}];