# Api Plugin Source: https://maps.vietmap.vn/docs/vi/sdk-mobile/Flutter/api-plugin/ Package Dart để gọi các [API VIETMAP](https://maps.vietmap.vn/docs/vi/map-api/overview/) từ ứng dụng Flutter. # Vietmap API Flutter plugin [

](https://maps.vietmap.vn) Lấy API key: [đăng ký miễn phí trên VIETMAP Console](https://maps.vietmap.vn/console-v2/register). !!! warning "Dùng các hàm V4" `vietmap_flutter_plugin` 0.5.2 có hai bộ hàm. `autocomplete`, `geoCode`, `reverse` và `place` (dùng trong ví dụ bên dưới) gọi API v3; muốn dùng API v4 và địa chỉ sau sáp nhập thì gọi `autocompleteV4`, `geoCodeV4`, `reverseV4` và `placeV4`. `routing` và `matrix` vẫn gọi endpoint cũ (`api-version=1.1`); cần phí cầu đường hay chỉ đường cho xe tải thì gọi thẳng [Route v4](https://maps.vietmap.vn/docs/vi/map-api/route-version/route-v4/) qua HTTP. ## Bắt đầu Thêm thư viện vào file `pubspec.yaml`: ```yaml vietmap_flutter_plugin: latest_version ``` Phiên bản mới nhất xem tại [https://pub.dev/packages/vietmap_flutter_plugin](https://pub.dev/packages/vietmap_flutter_plugin) hoặc chạy lệnh sau trong terminal để thêm thư viện vào dự án: ```bash flutter pub add vietmap_flutter_plugin ``` ## Cách dùng ### Khởi tạo plugin - Gọi `Vietmap.getInstance(apiKey)` trước khi dùng bất kỳ hàm nào khác. ```dart Vietmap.getInstance('YOUR_API_KEY_HERE'); ``` - Các hàm gọi API VIETMAP: ```dart Vietmap.autocomplete(VietMapAutoCompleteParams(textSearch: 'Hà Nội')); Vietmap.geoCode(VietMapAutoCompleteParams(textSearch: 'Hà Nội')); Vietmap.reverse(LatLng(21.027763, 105.834160)); Vietmap.place('Place ID'); Vietmap.routing(VietMapRoutingParams(points: [ LatLng(21.027763, 105.834160), LatLng(21.027763, 105.834160) ])); /// This function is used to get the style url of Vietmap, /// which provide the style of the map for VietmapGL plugin. Vietmap.getVietmapStyleUrl(); ``` ## Thông tin thêm Package này thuộc dự án [VIETMAP API](https://maps.vietmap.vn). ## Xử lý sự cố Plugin dùng bản mới nhất của hai package [dio](https://pub.dev/packages/dio) và [dartz](https://pub.dev/packages/dartz). Nếu bị xung đột phiên bản với dự án của bạn, hãy nâng hai package này lên bản mới nhất, hoặc ghi đè phiên bản như sau: ```yaml dependencies: dio: your_project_version dartz: your_project_version dependencies_override: dio: our_plugin_version dartz: our_plugin_version ``` Kết quả API được trả về qua kiểu `Either` của package [dartz](https://pub.dev/packages/dartz). Xem tài liệu [dartz](https://pub.dev/packages/dartz) để biết cách xử lý kết quả: ```dart var autocompleteData = await Vietmap.autocomplete(VietMapAutoCompleteParams(textSearch: 'Hà Nội')); autocompleteData.fold( (Failure left) { // Handle error here }, (List right) { // Handle success here }, ); ``` ## Lưu ý: thay mọi chỗ `YOUR_API_KEY_HERE` bằng API key VIETMAP cấp cho bạn thì ứng dụng mới chạy được [

](https://maps.vietmap.vn) Email: [maps.info@vietmap.vn](mailto:maps.info@vietmap.vn) Bảng giá API VIETMAP: [maps.vietmap.vn](https://maps.vietmap.vn) Liên hệ [hỗ trợ](https://maps.vietmap.vn/web#contact-section) Tài liệu API VIETMAP: [Tổng quan Map API](https://maps.vietmap.vn/docs/vi/map-api/overview/) Gặp lỗi? [Tạo issue](https://github.com/vietmap-company/vietmap_flutter_plugin/issues) trên GitHub, kèm log đầy đủ và thông tin để tái hiện lỗi nếu có thể. Cần thêm tính năng? [Tạo issue](https://github.com/vietmap-company/vietmap_flutter_plugin/issues) mô tả tính năng đó làm gì và vì sao bạn cần.