مسیر به نقاط ناوبری

کیت توسعه نرم‌افزار ناوبری (Navigation SDK) برای iOS روش‌های پیشرفته‌ای برای تعیین نقاط مسیر ارائه می‌دهد که مسیریابی دقیق‌تر و تجربه رسیدن بهتری را، به ویژه برای مقاصدی با ورودی‌های متعدد یا نقاط دسترسی خاص، فراهم می‌کند. می‌توانید با استفاده از یک navigationPointToken یا با ترکیب مختصات مکان با یک Place ID برای زمینه بیشتر، به مکان‌های دقیق مسیریابی کنید.

در صورت لزوم، ویژگی برجسته‌سازی مقصد همچنان اجرا خواهد شد.

پیشینه

قبل از نسخه ۱۰.۱۰، می‌توانستید یک Waypoint با استفاده از مختصات مکان یا شناسه مکان تعریف کنید. اگرچه گاهی اوقات مؤثر است، اما مسیریابی صرفاً بر اساس طول و عرض جغرافیایی می‌تواند گاهی اوقات منجر به نقاط سوار یا پیاده شدن نامناسب شود، به خصوص برای مکان‌های بزرگ، پارک‌ها یا ساختمان‌هایی با ورودی‌های متعدد. نتیجه ممکن است به نزدیکترین بخش جاده متصل شود، که ممکن است راحت‌ترین یا صحیح‌ترین نقطه دسترسی نباشد.

گزینه‌های پیشرفته‌ی نقاط مسیر با فراهم کردن امکان ارائه‌ی زمینه‌ی بیشتر، این مشکل را برطرف می‌کنند.

استفاده از توکن نقطه ناوبری

برای دقیق‌ترین مسیریابی به نقاط دسترسی خاص مانند ورودی‌ها، اسکله‌های بارگیری یا مناطق تعیین‌شده برای تحویل گرفتن بار، می‌توانید از navigationPointToken استفاده کنید.

این توکن با فراخوانی متد Destinations از API مربوط به Geocoding به دست می‌آید. این توکن نشان‌دهنده‌ی یک نقطه‌ی ناوبری خاص و قابل مسیریابی مرتبط با یک مکان است.

برای مشخص کردن یک توکن نقطه ناوبری:

  1. یک navigationPointToken از متد Destinations از پاسخ Geocoding API دریافت کنید.

  2. هنگام ایجاد یک GMSNavigationWaypoint آن navigationPointToken مشخص کنید.

توجه: شما نمی‌توانید همزمان یک توکن نقطه ناوبری را به همراه یک مکان و PlaceID مشخص کنید.

سویفت

// Create a waypoint using a navigation endpoint token
let waypointTwo = GMSNavigationWaypoint(
  navigationPointToken: "ChIJALijSXPhQkARHmIozCCbXsASEgkFVjYHGH6PgBFrbM7wl3.."
  title: "Sydney Opera House")

// Route to the waypoint
navigator.setDestinations([waypointTwo]) { [weak self] routeStatus in
   self?.handleRouteCallback(status: routeStatus)
}

هدف-سی

GMSNavigationWaypoint *waypointTwo = [[GMSNavigationWaypoint alloc] initWithNavigationPointToek:@"sampleNavigationPointToken"

ترکیب شناسه مکان و موقعیت مکانی

از نسخه ۱۰.۱۰ به بعد، می‌توانید هنگام ایجاد یک نقطه مسیر، هم شناسه مکان و هم مختصات مکان را ارائه دهید. این روش زمانی مفید است که می‌خواهید یک نقطه دقیق (مکان) را مشخص کنید و در عین حال زمینه کلی مکان (شناسه مکان) را نیز ارائه دهید. این به SDK ناوبری اجازه می‌دهد تا با برجسته کردن ساختمان مقصد یا نشان دادن نقاط مورد علاقه نزدیک مرتبط با شناسه مکان، تجربه ورود غنی‌تری را ارائه دهد.

سویفت

// Create a waypoint using both the latlng and placeID
let waypoint = GMSNavigationWaypoint(
  location: CLLocationCoordinate2DMake(-33.85657945261524, 151.21535034203333),  
  placeID: "ChIJ3S-JXmauEmsRUcIaWtf4MzE",
  title: "Sydney Opera House")

// Route to the waypoint
navigator.setDestinations([waypoint]) { [weak self] routeStatus in
   self?.handleRouteCallback(status: routeStatus)
}

هدف-سی

CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20);
GMSNavigationWaypoint *waypoint = [[GMSNavigationWaypoint alloc] initWithLocation:placeID:coordinate title:@"waypoint from location and placeiD"];

ملاحظات:

وقتی هم placeID و هم location ارائه می‌دهید:

  • این مسیر در درجه اول location مشخص شده را هدف قرار می‌دهد.
  • placeId به عنوان زمینه‌ای برای بهبود تجربه ورود استفاده می‌شود.
  • جایگزینی: اگر SDK تشخیص دهد که placeId ارائه شده مربوط به یک ویژگی است که از location داده شده خیلی دور است، placeId نادیده گرفته می‌شود. در این سناریو، مسیریابی فقط به location ادامه می‌یابد و بهبودهای مربوط به تجربه ورود به مکان خاص در دسترس نخواهند بود.

خلاصه‌ای از پیکربندی‌های معتبر نقطه مسیر

مشخصات location placeID navigationPointToken رفتار مسیریابی برجسته‌سازی مقصد
فقط مختصات مکان مجموعه غایب غایب مسیرهای منتهی به نزدیکترین قطعه جاده به مختصات تعریف شده نشان داده شده است که آیا می‌توان مقصد را با اطمینان بالا استنباط کرد یا خیر
فقط شناسه مکان غایب مجموعه غایب مسیرها به نقطه ناوبری پیش‌فرض برای شناسه مکان از شناسه مکان
فقط توکن نقطه ناوبری غایب غایب مجموعه مسیرها به نقطه ناوبری دقیق که توسط توکن نشان داده شده است از مقصد تعریف شده در متد destinations اصلی درخواست Geocoding API
مختصات مکان و شناسه مکان با هم ترکیب شده‌اند س مجموعه غایب مسیرهای منتهی به نزدیکترین قطعه جاده به مختصات تعریف شده از شناسه مکان، اگرچه اگر شناسه مکان از مختصات عرض/طول جغرافیایی خیلی دور باشد، نشان داده نمی‌شود