Amazon Location Service là một dịch vụ quản lý hoàn toàn giúp bạn dễ dàng tích hợp dữ liệu vị trí và các chức năng như bản đồ, tìm kiếm và định tuyến vào ứng dụng của bạn. Với Amazon Location Service, bạn có thể truy cập dữ liệu chất lượng cao từ nhiều nhà cung cấp dữ liệu, mang lại sự linh hoạt để lựa chọn nhà cung cấp có dữ liệu tốt nhất cho dự án của bạn. Điều này loại bỏ sự cần thiết phải ký hợp đồng hoặc tích hợp bên thứ ba, giúp bạn tập trung vào việc xây dựng ứng dụng của mình mà không cần quản lý tài khoản, thông tin xác thực, giấy phép và thanh toán bổ sung. Hôm nay, tôi rất phấn khích thông báo rằng bạn có thể xây dựng các ứng dụng chất lượng cao và hiệu quả về chi phí tại Đông Nam Á với GrabMaps như một nhà cung cấp dữ liệu mới cho Amazon Location Service.
Giới thiệu về GrabMaps
Ban đầu, Grab đã phụ thuộc vào các nhà cung cấp bản đồ bên thứ ba để hỗ trợ nhóm hoạt động của họ trong việc lập kế hoạch và thực hiện giao hàng. Tuy nhiên, họ nhanh chóng nhận ra rằng các nhà cung cấp bản đồ toàn cầu không thể theo kịp với các thay đổi thường xuyên và nhu cầu cụ thể của khu vực Đông Nam Á. Vì vậy, họ bắt đầu xây dựng GrabMaps vào năm 2017.
GrabMaps đã phát triển để cung cấp năng lực cho sản phẩm mũi nhọn của Grab, Grab Superapp, một điểm dừng mua sắm thực phẩm, tạp hóa và giao hàng bưu kiện, cũng như dịch vụ chia sẻ xe ở Đông Nam Á. GrabMaps áp dụng một cách tiếp cận độc đáo để thu thập dữ liệu, lấy vào xem xét các đặc điểm địa phương, như sự hiện diện của những con ngõ nhỏ và các khu phân lô, các hạn chế về phương tiện theo biển số, và các phương tiện giao thông cụ thể cho Đông Nam Á. Nó áp dụng một chiến lược ánh xạ dựa trên cộng đồng, sử dụng người tiêu dùng, người bán và đội xe của Grab. GrabMaps nhận, phân tích và xác thực các cập nhật hàng ngày từ hàng triệu đơn hàng và chuyến đi, cùng với phản hồi thời gian thực từ đối tác về đóng cửa đường, thay đổi địa chỉ kinh doanh và nhiều nội dung khác. Các đối tác lái xe và giao hàng cũng được khuyến khích đóng góp thông tin vị trí như điểm quan tâm (POI), hình ảnh đường phố, tên đường và vị trí biển báo giao thông. Điều này giúp GrabMaps cung cấp dữ liệu ánh xạ khu vực chất lượng cao về độ chính xác, phạm vi và sự tươi mới.
Dữ liệu của GrabMaps hiện đã có sẵn thông qua Amazon Location Service tại Khu vực châu Á Thái Bình Dương (Singapore) của AWS.
Phát triển các giải pháp hiệu quả về chi phí cho doanh nghiệp của bạn
Dịch vụ Amazon Location cung cấp giá cả cạnh tranh, đặc biệt là khi nói đến các hoạt động như mã hóa vị trí (geocoding) và tính toán tuyến đường. Các tính toán tuyến đường của dịch vụ Amazon Location có giá lên đến 10 lần rẻ hơn so với các đối thủ, cung cấp các tính năng tuyến đường tiên tiến như tuyến đường xe máy và ước tính giao thông mà không tốn thêm chi phí. Mã hóa vị trí (geocoding) và giải mã vị trí ngược (reverse geocoding) với dịch vụ Amazon Location cũng rẻ hơn đến 10 lần so với các đối thủ, và họ cung cấp tùy chọn “lưu trữ mã hóa” cho phép bạn mua quyền lưu trữ và tái sử dụng dữ liệu đã được mã hóa vô thời hạn. Điều này có thể rất hiệu quả về chi phí đặc biệt đối với các trường hợp sử dụng có tỷ lệ địa chỉ tái diễn cao.
Tấm bản đồ (map tiles) của dịch vụ Amazon Location cũng có giá cạnh tranh và trong nhiều trường hợp, giá trên mỗi tấm bản đồ của họ thậm chí rẻ hơn giá dựa trên phiên của các đối thủ.
Truy cập dữ liệu chất lượng cao tại Đông Nam Á
Bây giờ bạn có thể sử dụng các API Bản đồ, Địa điểm và Tuyến đường của dịch vụ Amazon Location trong Khu vực Châu Á Thái Bình Dương (Singapore) của AWS để truy cập dữ liệu GrabMaps, bao gồm nhiều quốc gia ở Đông Nam Á, bao gồm Singapore, Campuchia, Việt Nam, Philippines, Indonesia, Malaysia, Myanmar và Thái Lan. API Bản đồ của dịch vụ Amazon Location cung cấp hai kiểu bản đồ được thiết kế bởi GrabMaps: Street Light và Street Dark. Cả hai đều là kiểu bản đồ đa dụng với các lớp sử dụng đất chi tiết, tên khu vực, đường và điểm quan tâm, được thiết kế chuyên nghiệp để hỗ trợ các ứng dụng và trường hợp sử dụng khác nhau. API Địa điểm của dịch vụ Amazon Location, được cung cấp bởi dữ liệu GrabMaps, cho phép bạn truy cập hơn 50 triệu địa chỉ và điểm quan tâm trên khắp Đông Nam Á. API cho phép bạn thêm chức năng mã hóa vị trí, giải mã vị trí ngược và tự động hoàn thiện cho ứng dụng của bạn, giúp người dùng cuối tìm kiếm địa điểm và chuyển đổi tọa độ địa lý thành địa chỉ và ngược lại. Cuối cùng, API Tuyến đường của dịch vụ Amazon Location sử dụng thông tin về mạng đường và giao thông cập nhật từ GrabMaps để cung cấp tuyến đường nhanh nhất sử dụng nhiều thông số, chẳng hạn như các phương tiện giao thông tổng quát và địa phương (xe ô tô, đi bộ, xe máy và xe đạp), thời gian khởi hành và những điều tránh (phà, phí qua cầu và xa lộ). Điều này giúp bạn thêm khả năng lập kế hoạch và tối ưu hóa tuyến đường vào ứng dụng của bạn, giúp người dùng cuối đưa ra quyết định du lịch hiệu quả hơn và có thông tin.
Ở các phần sau, bạn sẽ tìm hiểu cách thiết lập tài nguyên dịch vụ Amazon Location với GrabMaps là nhà cung cấp dữ liệu và sử dụng chúng trong ứng dụng web. Nếu bạn muốn một giải thích hình ảnh, xem video hướng dẫn sau đây.
Building Apps in Southeast Asia with GrabMaps and Amazon Location Service | Amazon Web Services
Tổng quan về Giải pháp
Bạn sẽ tạo các tài nguyên AWS cần thiết bằng cách sử dụng AWS CloudFormation và cấu hình và triển khai ứng dụng web bằng dự án amplify-ui-geo-explore có sẵn từ kho lưu trữ GitHub của Dịch vụ Vị trí Amazon.
Ứng dụng sẽ có các thành phần và chức năng sau:
1. Một bản đồ tương tác.
2. Một tiện ích tìm kiếm vị trí cho phép bạn tìm kiếm địa chỉ và tên địa điểm.
3. Một trình tính toán tuyến đường tìm tuyến nhanh nhất bằng cách sử dụng nhiều thông số như các phương tiện giao thông khác nhau, thời gian khởi hành và các điều tránh.
4. Chức năng theo dõi và định vị địa lý cho phép bạn tạo các đường biên đa giác như địa lý phong cách, mô phỏng định vị vị trí và đánh giá cập nhật vị trí so với địa lý phong cách và kích hoạt sự kiện nhập/ra.
Hình 1. Một ứng dụng web với bản đồ tương tác, tìm kiếm vị trí và chức năng tính đường đi.
Hướng dẫn
Yêu cầu tiên quyết
Để hoàn thành hướng dẫn này, bạn cần truy cập tới một tài khoản AWS có đủ quyền để tạo tài nguyên AWS. Hãy tạo một tài khoản AWS nếu bạn chưa có.
Tạo tài nguyên AWS
Bạn sẽ sử dụng một mẫu AWS CloudFormation để tạo một số tài nguyên AWS, bao gồm các tài nguyên bản đồ, chỉ mục địa điểm và máy tính tuyến đường của Dịch vụ Vị trí Amazon với GrabMaps là nhà cung cấp dữ liệu. Mẫu cũng sẽ tạo các tài nguyên địa lý và theo dõi của Dịch vụ Vị trí Amazon, cần thiết để ứng dụng hoạt động. Ngoài ra, nó sẽ tạo một Bể danh tính Amazon Cognito và một số vai trò và chính sách IAM để cấp quyền cho ứng dụng truy cập các tài nguyên của Dịch vụ Vị trí Amazon, đồng thời duy trì kiểm soát về ai có quyền truy cập vào các tài nguyên này và thực hiện các hành động gì.
Nhấp vào liên kết này để triển khai mẫu này vào tài khoản AWS của bạn. Nó sẽ mở Cổng thông tin Quản lý AWS và khởi động quá trình triển khai mẫu CloudFormation. Đánh dấu ô Tôi xác nhận rằng AWS CloudFormation có thể tạo tài nguyên IAM (Hình 2); sau đó chọn nút Tạo stack.
Hình 2. Triển khai mẫu CloudFormation vào tài khoản AWS của bạn bằng cách sử dụng bảng điều khiển AWS CloudFormation.
Sau khi quá trình triển khai hoàn tất, vào phần Đầu ra để lấy ID Bể danh tính Cognito và tên của các tài nguyên Dịch vụ Vị trí Amazon đã được tạo ra (Hình 3).
Hình 3. Truy cập đầu ra mẫu CloudFormation trong bảng điều khiển AWS CloudFormation.
Cấu hình và triển khai ứng dụng
Sao chép dự án amplify-ui-geo-explore từ kho lưu trữ GitHub của Dịch vụ Vị trí Amazon bằng lệnh sau và sau đó, di chuyển đến thư mục dự án và cài đặt các phụ thuộc.
“`bash
git clone https://github.com/aws-samples/amazon-location-samples.git
cd amazon-location-samples/amplify-ui-geo-explore/
npm install
“`
Tiếp theo, mở tệp src/configuration.js và sử dụng đầu ra của mẫu CloudFormation để nhập ID Bể danh tính Cognito của bạn và tên của các tài nguyên Dịch vụ Vị trí Amazon của bạn. Sử dụng ap-southeast-1 làm Khu vực AWS, VectorGrabStandardLight làm kiểu bản đồ và Vehicle-1 làm tên thiết bị.
“`javascript
export const IDENTITY_POOL_ID = “ap-southeast-1:…”;
export const REGION = “ap-southeast-1”;
export const MAP = {
NAME: “GrabDemoMap”,
STYLE: “VectorGrabStandardLight”,
};
export const PLACE = “GrabDemoPlaceIndex”;
export const ROUTE = “GrabDemoRouteCalculator”;
export const GEOFENCE = “GrabDemoGeofenceCollection”;
export const TRACKER = “GrabDemoTrackers”;
export const TRACKER_SIMULATED_DEVICE = “Vehicle-1”;
“`
Cuối cùng, mở tệp src/App.jsx và sửa đổi thành phần MapView để đặt chế độ xem bản đồ ban đầu (initialViewState) thành Kuala Lumpur, Malaysia. Sử dụng 101.656125 cho kinh độ và 3.1506347 cho vĩ độ.
“`javascript
<MapView
…
initialViewState={{
longitude: 101.656125,
latitude: 3.1506347,
zoom: 11,
}}
…
>
…
</MapView>
“`
Lưu dự án của bạn và chạy lệnh sau để khởi chạy ứng dụng.
“`bash
npm start
“`
Nếu bạn truy cập http://localhost:8080/ trong trình duyệt của bạn, bạn sẽ thấy một bản đồ tương tác, với tính năng tìm kiếm vị trí và tính đường đi, được cung cấp bởi dữ liệu GrabMaps (Hình 4).
Hình 4. Một ứng dụng web với bản đồ tương tác, tìm kiếm vị trí và tính đường đi.
Dọn dẹp
Nếu bạn muốn xóa tất cả các tài nguyên đã tạo trong hướng dẫn này, hãy xóa ngăn xếp CloudFormation được gọi là AmazonLocationServiceGrabDemo (Hình 5).
Hình 5. Sử dụng bảng điều khiển AWS CloudFormation để xóa tất cả các tài nguyên đã tạo trong hướng dẫn này.
Kết luận
Dịch vụ Vị trí Amazon đã thêm GrabMaps vào danh sách nhà cung cấp dữ liệu mới cho khách hàng AWS tại Đông Nam Á. Điều này cho phép bạn sử dụng dữ liệu chất lượng cao từ GrabMaps để thêm dữ liệu vị trí và chức năng vào các ứng dụng của bạn. Trong bài viết này, bạn đã học cách sử dụng các API Bản đồ, Địa điểm và Tuyến đường của Dịch vụ Vị trí Amazon để thêm bản đồ tương tác, tìm kiếm vị trí và chức năng tính đường cho một ứng dụng web, với dữ liệu chất lượng cao từ GrabMaps.
Trên kho lưu trữ GitHub của Dịch vụ Vị trí Amazon, có nhiều dự án mẫu mà bạn có thể khám phá để tìm hiểu cách xây dựng các ứng dụng có dữ liệu vị trí và chức năng trên AWS. Hãy truy cập trang sản phẩm Dịch vụ Vị trí Amazon để tìm hiểu về các sản phẩm, các trường hợp sử dụng phổ biến và các câu chuyện thành công của khách hàng. Để khám phá sâu hơn về các tính năng của Dịch vụ Vị trí Amazon, hãy truy cập tài liệu cho nhà phát triển.