2013-05-15 53 views
9

Tôi đang phát triển một ứng dụng sẽ tập trung nhiều vào việc cung cấp cho người dùng tuyến đường và chỉ đường từng chặng trong khi lái xe. Điều quan trọng là họ ở trong ứng dụng trong khi lái xe của họ, vì vậy tôi thực sự không muốn khiến họ rời khỏi ứng dụng và truy cập ứng dụng Maps được tích hợp sẵn. Tôi đã làm rất nhiều nghiên cứu gần đây về cách bao gồm chức năng này, và nó được biết đến rộng rãi rằng nó không phải là dễ dàng, kể từ khi Apple không bao gồm chức năng này trong SDK ra khỏi hộp. Có vẻ như lựa chọn của tôi là:Tìm tuyến đường và điều hướng từng chặng trong ứng dụng iPhone

Đối với cung cấp các tuyến đường (và hướng dẫn) từ nơi này sang nơi khác

  • Sử dụng một UIWebView và tải một số bản đồ dựa trên web với JavaScript, và sử dụng các API Javascript để vẽ một tuyến đường
  • Sử dụng MapKit hoặc SDK Google Maps iOS, truy vấn tuyến đường một cách riêng biệt thông qua API và vẽ theo cách thủ công một số loại đường hoặc polyline trên đầu trang của nó.
  • Sử dụng một thư viện mà tốn tiền (như MTDirectionsKit)

Đối cung cấp turn-by-turn navigation

  • Sử dụng một thư viện độc quyền mà đi kèm với bản đồ của riêng mình (như CloudMade)

Có điều gì tôi thiếu ở đây không? Những ưu và nhược điểm của mỗi loại là gì và tôi nên chọn giải pháp như thế nào?

Thông tin chi tiết của bạn được đánh giá cao. Cảm ơn!

Trả lời

12

Bạn nói rằng bạn không muốn "thực hiện" người dùng rời khỏi ứng dụng và sử dụng phần mềm tích hợp để điều hướng lần lượt như thể đây là trải nghiệm người dùng kém. Trải nghiệm người dùng tồi sẽ bị buộc phải sử dụng lượt rẽ bằng cách điều hướng từ webView hoặc một số API sẽ không hiển thị thông tin định tuyến trên màn hình khóa của tôi nếu tôi khóa điện thoại hoặc cắt các ứng dụng khác để hiển thị biểu ngữ cho tôi biết đang đến, ví dụ, trong khi tôi đang nghe nhạc trên điện thoại của mình. Tôi khuyên bạn nên khởi chạy bản đồ Apple và để hệ thống xử lý những gì nó có nghĩa là để xử lý thay vì cố gắng xây dựng lượt của riêng bạn bằng cách điều hướng lần lượt và hạn chế rất nhiều người dùng từ tự do thoát khỏi ứng dụng trong khi lái xe.

+0

Điều này là một điểm rất tốt và cuối cùng đã ngăn cản tôi cố gắng xây dựng chức năng này vào ứng dụng. Cảm ơn! – Andrew

1

Tôi đồng ý với phản hồi của Kris. Điều hướng từng chặng có thể được xử lý tốt nhất bởi ứng dụng tích hợp sẵn. Tuy nhiên, để hiển thị một tuyến đường và ETA trên bản đồ 2D, tôi nghĩ tôi sẽ đi với Mapquest iOS API, cung cấp chức năng này miễn phí. Tôi không biết giải pháp này đã có sẵn cho đến ngày hôm nay.

4

Trong khi về chủ đề của các thư viện thương mại bạn có thể những gì để có một cái nhìn tại tùy chọn khác:

  • skobbler/telenav sdk - trong ứng dụng định tuyến và turn-by-turn navigation dựa trên OpenStreetMap (bản đồ tương tự được sử dụng bởi Cloudmade và Mapquest).Kiểm tra các demoslicensing plans và tìm hiểu xem đó là giải pháp đúng đắn cho bạn

(họ có một Tier miễn phí mà có thể là đủ tốt cho các ứng dụng của bạn - và nếu bạn đi trên tầng mà tôi nghĩ rằng bạn nên có xem xét việc kiếm tiền từ bạn ứng dụng)

  • và đó là về nó trong thời gian này (bên cạnh các tùy chọn đã được đặt tên): giữ một mắt ra cho Mapbox như họ có thể cung cấp một sdk iOS trong tương lai gần - với định tuyến và chuyển hướng
+3

Từ những gì tôi đã nghiên cứu, có vẻ như SDK 'skobbler/telenav' cung cấp nền tảng hiện đại (ví dụ, x64, Swift-ready), dễ (Cocoapod-managed), thông minh (singletons). Và tôi đã nghiên cứu rất nhiều! Nhìn chung có giá cả phải chăng ... ít nhất phải chăng hơn Google Maps for Work. –