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

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

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

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

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

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

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

सड़क के एक ही किनारे को प्राथमिकता देना

वेपॉइंट के अक्षांश और देशांतर की जानकारी दें. इसके बाद, preferSameSideOfRoad `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){...}];