Nhận thấy xu hướng phát triển đó nhóm đã có ý tưởng sử dụng dịch vụ geocoding để tạo ra một ứng dụng giúp tìm kiếm và lưu lại các địa điểm trên nền tảng website.. Điều này hoàn toàn có t
Trang 1BÁO CÁO THỰC TẬP TỐT NGHIỆP
NGHIÊN CỨU BÀI TOÁN GEOCODING
VÀ PHÁT TRIỂN ỨNG DỤNG MINH HỌA
NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Trang 2mình Với những tìm tòi từ thực tế và với những kiến thức đã học chúng em đã nghiên cứu các dịch vụ Geocoding Nhóm chúng em cũng thực hiện so sánh, demo Từ những ngôn ngữ Javascript, PHP, MySQL … đã học và những tham khảo từ anh chị khoá trước, thông tin trên mạng đã giúp nhóm chúng em hoàn thành tốt TTTN của mình Chúng em xin chịu hoàn toàn trách nhiệm với những gì mình đã viết
Mặc dù đã cố gắng hoàn thành đề tài với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những thiếu sót nhất định, kính mong sự cảm thông
và tận tình chỉ bảo của quý Thầy Cô
Chúng em xin chân thành cảm ơn
TP HỒ CHÍ MINH – Năm 2020
Trang 3DANH MỤC HÌNH 5
DANH MỤC BẢNG 6
DANH SÁCH THUẬT NGỮ, CHỮ VIẾT TẮT 6
1 Giới thiệu 7
1.1 Đặt vấn đề 7
1.1.1 Tính cấp thiết 7
1.1.2 Mục tiêu 7
1.1.3 Giới hạn và phạm vi của đề tài 7
1.1.4 Ý nghĩa khoa học của đề tài 7
1.1.5 Ý nghĩa thực tiễn của đề tài 8
2 Công nghệ liên quan 9
2.1 Tìm hiểu về geocoding 9
2.1.1 Geocoding được sử dụng để làm gì? 9
2.1.2 Địa chỉ là gì? 9
2.1.3 Quá trình xử lý geocoding 10
2.2 Các dịch vụ Geocoding 14
2.2.1 Dịch vụ Google Maps API 14
2.2.2 Dịch vụ MapQuest 18
2.2.3 Dịch Vụ Here 22
3 So sánh đánh giá 23
3.1 Độ chính xác 23
3.2.1 Tìm hiểu về độ chính xác 23
3.2.2 Tiến hành so sánh độ chính xác 24
3.2.3 Tổng kết so sánh 35
3.2 Độ tin cậy 37
3.3 Tốc độ [1] 38
3.4 Tính thẩm định 39
3.5 Tài liệu và hỗ trợ 40
Trang 44.1.4 Info Windows 45
4.1.5 Các sự kiện 46
4.1.6 Tiến hành thực hiện ứng dụng 46
5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51
5.1 Kết luận 51
5.2 Hướng phát triển 51
Tài liệu tham khảo 53
Trang 5Hình 3 Google Map - Bắt đầu 16
Hình 4 Google Map - Tọa độ bắt đầu 16
Hình 5 Google Map - Search Box 17
Hình 6 Trang chủ MapQuest 18
Hình 7 MapQuest - Key MapQuest API 19
Hình 8 Mapquest - Demo 20
Hình 9 Mapquest - Tọa độ bắt đầu 20
Hình 10 Here - Giao diện trang chủ 22
Hình 11 Minh họa interpulation 24
Hình 12 Google Maps - Kết quả tọa độ 25
Hình 13 Mapquest - Gửi dữ liệu đến API 26
Hình 14 Here – Tiến hành tạo Bearer Key 28
Hình 15 Here - Lấy Access_Token 28
Hình 16 Here - Tạo credentials key 29
Hình 17 Here - Access Key ID và Access Key Secret 29
Hình 18 Here - Kết quả 30
Hình 19 Here - Sử dụng Bearer 31
Hình 20 Here - Lấy dữ liệu 31
Hình 21 Google Map - Giá dịch vụ Map 40
Hình 22 Google Map - Giá Geocoding, Places 41
Hình 23 Callback Google Map Script 44
Hình 24 Hàm callBack initMap() 44
Hình 25 Markers 45
Hình 26 InfoWindow 46
Hình 27 Database 47
Hình 28 Giao diện ứng dụng 47
Hình 29 AutoComplete SearchBox 48
Hình 30 Kết quả tìm kiếm 48
Hình 31 Kết quả lưu dữ liệu 49
Hình 32 Kết quả hiển thị Markers 49
Hình 33 Kết quả hiện thị InfoWindow 50
Trang 6Bảng 1 Bảng ký hiệu viết tắt 6
Bảng 2 Tiến trình geocoding 12
Bảng 3 So Sánh Độ Chính Xác Một Số Địa chỉ ở US 34
Bảng 4 So Sánh Độ Chính Xác Trên Nhiều Nơi 35
Bảng 5 Downtime 37
Bảng 6 So sánh Price 42
DANH SÁCH THUẬT NGỮ, CHỮ VIẾT TẮT
đó có thể thấy hữu ích hoặc thú vị
quân sự
Bảng 1 Bảng ký hiệu viết tắt
Trang 7Ngày nay với sự phát triển mạnh mẽ của công nghệ bản đồ thì việc tìm kiếm thông tin cũng như định vị trên bản đồ ngày càng trở nên phổ biến Không những thế việc ứng dụng công nghệ này trên nền tảng website cũng là một xu hướng tất yếu Trên thực tế đã có nhiều dịch vụ geocoding nổi tiếng như Here, MapQuest, MapBox, Openstreet, Google Map …
Cùng với đó là sự phát triển mạnh mẽ việc sử dụng các dịch vụ thông qua các website
Nhận thấy xu hướng phát triển đó nhóm đã có ý tưởng sử dụng dịch vụ geocoding
để tạo ra một ứng dụng giúp tìm kiếm và lưu lại các địa điểm trên nền tảng website
1.1.2 Mục tiêu
Tìm hiểu, nghiên cứu các dịch vụ geocoding
So sánh, đánh giá, lựa chọn và áp dụng dịch vụ để xây dựng ứng dụng trên nền tảng website
Áp dụng các kiến thức tìm hiểu được xây dựng hệ thống chạy trên nền tảng website để giải quyết các vấn đề sau:
Tìm kiếm vị trí trên bản đồ qua tên của địa chỉ có sẵn
Hiển thị thông tin chính xác về tọa độ, địa chỉ đầy đủ
Lưu các thông tin liên quan đến địa chỉ vào cơ sở dữ liệu
Hiển thị các thông tin được lưu thể hiện trên bản đồ
1.1.3 Giới hạn và phạm vi của đề tài
- Về thời gian: Đề tài được thực hiện từ 2/3/2020 đến 20/5/2020
- Về nội dung: Đề tài nghiên cứu các dịch vụ geocoding và xây dựng ứng dụng demo dựa trên các phần mềm mã nguồn mở
- Về công nghệ:
Sử dụng ngôn ngữ lập trinh Javascrip, PHP
Hệ quản trị cơ sở dữ liệu MySQL
Trang 8- Cung cấp cho người sử dụng một phương tiện tìm kiếm, lưu trữ địa điểm một cách nhanh chóng, hiệu quả và thân thiện
- Xây dựng ứng dụng hỗ trợ và cung cấp cho người dùng lưu lại thông tin về địa điểm Tìm kiếm hoặc thêm thông tin cho địa điểm cụ thể
Trang 9chỉ tọa độ, một tên địa chỉ hoặc tên của một nơi nào đó đến một vị trí trên bề mặt của trái đất Chúng ta có thể nhập input là một chuỗi text mô tả địa chỉ hoặc tên địa danh, trả về tọa độ/vị trí của điểm đó trên bản đồ
Chúng ta có thể nhanh chóng tìm được các địa điểm/vị trí thông qua geocoding Các loại vị trí mà chúng ta có thể tìm kiếm bao gồm các điểm (POI) hoặc tên như tên các ngọn núi, các cây cầu hoặc các cửa hàng
Khi đó sẽ chuyển đổi sang các tọa độ dựa trên các kinh độ và vĩ độ hoặc hệ thống quy chiếu khác Ví dụ như the Military Grid Reference System (MGRS) or the U.S National Grid system
2.1.1 Geocoding được sử dụng để làm gì?
Ngay từ những việc phân tích dữ liệu đơn giản đến quản lý kinh doanh và quản
lý khách hàng Có rất nhiều thứ ứng dụng với geocoding Với các mã địa chỉ được mã hóa địa lý chúng ta có thể nhận được các thông tin và hiển thị vị trí liên quan với địa chỉ đó
Hầu như các tổ chức kinh doanh đều muốn lưu lại địa chỉ và thông tin của khách hàng Vì vậy những thông tin về số nhà, tên đường, mã bưu chính, thành phố, tên của khách hàng đều được lưu lại Geocoding sẽ cho phép các tổ chức, cá nhân có thể lưu được thông tin của khách hàng
Điều này hoàn toàn có thể được làm với các dịch vụ Geocoding hiện nay như Google Maps API, Here, MapQuest, MapBox …
Nhờ các dịch vụ này chúng ta có thể hiển thị thông tin địa chỉ dựa trên những thông số nhất định hay cho phép phân tích thêm các thông tin liên quan đến địa chỉ này
Đề tài này hướng đến các dịch vụ như thế Tìm hiểu về các dịch vụ geocoding như Google Maps API, Developer Here, Mapquest Thực hiện tìm hiểu và triển khai các dịch vụ Sau đó so sánh các dịch vụ và tiến hành xây dựng ứng dụng demo dựa trên dịch vụ phù hợp nhất
Trang 10- Phần số nhà và tên đường Ví dụ: 114/4 Năm Châu
- Phần tên thôn/ấp Ví dụ: Thôn 3, xã Lộc Châu
- Địa chỉ đầy đủ: 114/4 Năm Châu, Phường 12, Quận Tân Bình, Thành phố Hồ Chí Minh
Ở Mỹ phổ biến các định dạng địa chỉ như:
- Số nhà, tên đường, loại đường, tên căn hộ, thành phố, tiểu bang, mã bưu chính, đất nước
114 Năm châu, Phường 12, Quận Tân Bình, TPHCM
Trang 11Tên đường Năm Châu
Trang 12Sau khi phân tách địa chỉ sẽ được chia ra các thành phần theo thứ tự Ưu tiên từ
số nhà, tên đường, phường/xã, thôn/ấp, quạn/huyện, thành phố, đất nước
Ngoài ra những thành phần hay được viết tắt cũng sẽ hiển thị ở đây
Một tập các thành phần ở đây bao gồm: Số nhà, tên đường, phường, quận, thành phố…
Ví dụ: TP.HCM: Thành phố Hồ Chí Minh, VN: Việt Nam
c) Tìm kiếm theo các thành phần địa chỉ
Khi đã có được các thành phần địa chỉ ở trên, các thành phần này sẽ được so sánh với địa chỉ/ dữ liệu đã có Việc tìm kiếm sẽ được tìm theo 1 tập các thành phần tương ứng với cột giá trị
Ngoài ra nếu phương pháp tìm theo tập không cho ra kết quả chẳng hạn khi tìm kiếm địa chỉ bằng tên thành phố, đất nước mà không thể tìm kiếm Công việc tìm kiếm sẽ tiếp tục dựa trên những tập thành phần khác như số nhà cho đến khi tất cả các thành phần được tìm thấy
d) Tính điểm cho các thành phần khớp với dữ liệu
Khi danh sách các tập thành phần địa chỉ được tạo với những địa chỉ có tiềm năng, tiến hành chấm điểm cho mỗi tập thành phần để xác định mức độ chính xác với với địa chỉ mà chúng ta đang tìm kiếm
Mỗi tập thành phần tiềm năng này sẽ được chấm điểm từ 0 – 100 Điểm này sẽ thấp nếu có bất kì điều này bên dưới được sử dụng:
+ Sai chính tả: Số nhà dài hoặc sai Ví dụ: số nhà: “114 Năm Châu” có thể bị tính thấp điểm
+Địa chỉ sai:
Trang 13Ví dụ: Trên 1 con đường Năm Châu chỉ có địa chỉ được phân bổ từ 1 – 200 nhưng chúng ta lại tìm kiếm 202
e) Lọc danh sách
Với mỗi một điểm số của tập thành phần
Chúng ta tạo ra một danh sách những tập thành phần phù hợp với địa chỉ dựa trên điểm số được chấm Những tập thành phần mà có điểm thấp hơn điểm tối thiểu sẽ
bị loại bỏ khỏi danh sách
Ví dụ: chúng ta sẽ lấy điểm địa chỉ khớp tối thiểu phải lớn hơn hoặc bằng 85
f) Dữ liệu phù hợp nhất
Những tập thành phần được hiển thị theo hạng và điểm ở trên Điểm càng cao
sẽ hiện phía trên của ô gợi ý khi tìm kiếm Chúng ta có thể xem và chọn địa chỉ đúng hoặc gần đúng với địa chỉ đang tìm kiếm
g) Xử lí và hiển thị
Đây là bước cuối cùng trong quá trình xử lí geocoding Hệ thống tiến hành xử lí
dữ liệu sau khi người dùng tìm kiếm chọn và hiển thị kết quả
Khi người dùng nhập vào ô input một kết quả tìm kiếm, công cụ geocoding sẽ chuyển đổi địa chỉ đầu vào này thành những phần nhỏ chẳng hạn như số nhà, tên đường … theo quy tắc đã được xác định của 1 tập thành phần Chúng ta gọi đây là thành phần của địa chỉ Công cụ geocoding sẽ tạo ra nhiều tập thành phần từ những thành phần này (interpulation) Mục đích là để tìm được tập thành phần phù hợp nhất với dữ liệu
Trang 142.2 Các dịch vụ Geocoding
2.2.1 Dịch vụ Google Maps API
a) Tổng quan
Ứng dụng Google Map là một dịch vụ bản đồ trực tuyến trên web và app miễn phí
do Google phát hành và quản lý, ứng dụng hỗ trợ nhiều dịch vụ, tính năng cho người dùng nhưng phổ biến nhất là dò đường, chỉ đường, tìm vị trí; hiển thị những tuyến đường tối ưu cho từng phương tiện tham gia giao thông, ngoài ra còn hướng dẫn cách bắt xe và chuyển tuyến xe dành cho người tham gia các phương tiện lưu thông công cộng (xe bus), hiển thị những địa điểm xung quanh vị trí người dùng hoặc vị trí chỉ định như ATM, trạm xăng, bệnh viện,…
Hiểu đơn giản đây là một phương pháp cho phép một website B có thể sử dụng dịch vụ hoặc hiển thị nội dung của một trang web khác, ở đây là là website A – Google Map (thông qua Map API), dịch vụ bản đồ của website A (Map) sẽ được nhúng vào website B (Website cá nhân)
Hiện nay, các ứng dụng xây dựng trên nền tảng Google Maps như Grab thường sử dụng Google Map API để nhúng bản đồ vào trang web hoặc ứng dụng thông qua ngôn ngữ Javascripts
Một số ứng dụng của Google Maps API:
Khi sử dụng Map API, chúng ta có thể đánh dấu bất kỳ địa điểm nào trên bản đồ, kèm theo đó là những thông tin về địa điểm đó, bao gồm các khu vui chơi, ATM, trường học, …
Tính năng chỉ đường đến địa điểm cần tìm (tuyến đường tối ưu nhất cho các phương tiện và nhiều lựa chọn khác), địa điểm có thể được cung cấp như cách làm ở trên hoặc thông qua dịch vụ mà Google Map cung cấp sẵn
Giúp khoanh vùng khu vực như khu kinh tế, khu sản xuất, khu đô thị hay các khu bị ô nhiễm, …
Có thể theo dõi tình hình giao thông, lưu lượng phương tiện tại các khu vực,
… và có giải pháp hợp lý
Trang 15b) Nghiên cứu và thực hiện triển khai dịch vụ
Google Cloud Platform được viết tắt là GCP là 1 nền tảng của điện toán đám
mây cho phép tổ chức và các doanh nghiệp tạo ra, xây dựng và hoạt động những ứng
dụng của chúng ta trên hệ thống google tạo ra Những ứng dụng phổ biến sử dụng Google Cloud Platform hiện đang rất phổ biến chính là: Youtube, Chrome, Google Apps, Google Maps, Google Search …
Để có thể tích hợp sâu dịch vụ Google Map cho ứng dụng của mình chúng ta cần phải có Google Map Api Key Google Map API Key đó được cấp qua GCP của google
Hình 2 Google Map - Key Google Maps API
Places Search Box: Sử dụng mã nguồn tạo ra ô tìm kiếm cho phép nhập vào địa chỉ là text Sau đó chuyển đổi địa chỉ đó sang tọa độ và hiển thị nó trên bản đồ
Ví dụ: test code trên môi trường localhost
Trang 16Hình 3 Google Map - Bắt đầu
Khi mới vào sẽ hiện giao diện khu vực này Do khi khởi tạo dùng tọa độ khu vực này làm trung tâm
Hình 4 Google Map - Tọa độ bắt đầu
Trang 17Hình 5 Google Map - Search Box
Chúng ta có thể chuyển đổi hình ảnh bản đồ và vệ tinh khi tích hợp API Google Map
c) Tổng kết
- Dịch vụ Google Map hỗ trợ bản đồ tốt cho nhiều khu vực kể cả Việt Nam
Trang 182.2.2 Dịch vụ MapQuest
a) Tổng quan
MapQuest là một dịch vụ lập bản đồ web trực tuyến miễn phí của Mỹ thuộc sở
hữu của Verizon Media Nó được ra mắt vào năm 1996 như là dịch vụ lập bản đồ web thương mại đầu tiên
b) Dịch vụ
Hiện tại, MapQuest sử dụng một số dịch vụ của TomTom (là nhà phát triển và sáng tạo đa quốc gia của Hà Lan về công nghệ định vị và điện tử tiêu dùng) cho hệ thống bản đồ của mình
MapQuest cung cấp một số mức độ chi tiết ở mức đường phố hoặc chỉ đường lái
xe cho nhiều quốc gia Người dùng có thể kiểm tra xem quốc gia của họ có khả dụng hay không bằng menu thả xuống trên trang chủ MapQuest
Công ty cung cấp một ứng dụng di động miễn phí cho Android và iOS có tính năng tìm kiếm POI, điều hướng bằng giọng nói, giao thông thời gian thực và các tính năng khác MapQuest cũng cung cấp một trang web thân thiện với thiết bị di động POI (point of interest): là một vị trí điểm cụ thể mà ai đó có thể thấy hữu ích hoặc thú vị MapQuest có một số sản phẩm du lịch
Dữ liệu POI của MapQuest giúp dịch vụ phân biệt chính nó với các phần mềm tìm đường khác bằng cách hướng dẫn người dùng trực tiếp đến các lối vào của doanh nghiệp và điểm đến, thay vì đến các địa chỉ đường phố nói chung
c) Trang chủ
Hình 6 Trang chủ MapQuest d) Hỗ trợ
Trang 19- https://www.mapquest.com/ là trang bản đồ trực tuyến
- https://developer.mapquest.com/ là trang dành cho những nhà phát triển (developer)
https://developer.mapquest/com Sau đó tạo Key Mapquest API
Hình 7 MapQuest - Key MapQuest API
Trang 20 Ví dụ: test code trên môi trường localhost
Hình 8 Mapquest - Demo
khi khởi tạo dùng tọa độ khu vực này làm trung tâm
Hình 9 Mapquest - Tọa độ bắt đầu
Trang 21Hình 9: Search MapQuest
Trang 222.2.3 Dịch Vụ Here
a) Tổng quan
Here là một bộ giao diện lập trình cho phép các nhà phát triển xây dựng các ứng dụng web dịch vụ định vị, thêm nhận vị trí, định vị địa lý, định tuyến chỉnh sửa… với tính năng phong phú, xây dựng các ứng dụng và dịch vụ nhận biết vị trí bằng
Cho dù chúng ta đang tạo một ứng dụng tiêu dùng cung cấp định tuyến chính xác hoặc ứng dụng làm nổi bật các điều kiện đường xá, hỗ trợ nhiều trường hợp sử dụng, môi trường dev và trình duyệt
Kiến trúc dựa trên API giúp dễ dàng kiểm tra và duy trì phát triển mã trong khi chỉ tích hợp các tính năng chúng ta cần vào môi trường ứng dụng
Mã hóa địa lý có sẵn ở 196 quốc gia, với ánh xạ độ chính xác cao của các vị trí hiển thị hoặc điều hướng Nhập địa chỉ có cấu trúc hoặc dạng tự do để có kết quả được xếp hạng theo mức độ liên quan hoặc mức độ gần nhau
Biến địa chỉ thành tọa độ và ngược lại Nhận các trận đấu chính xác với hơn
360 triệu địa chỉ điểm chính xác ở 108 quốc gia
c) Giao diện
Hình 10 Here - Giao diện trang chủ d) Hỗ trợ
IOS
Trang 23Để thực hiện geocode chúng ta thường có 2 lựa chọn:
Rooftop level: Thực hiện bằng cách tự bản thân đi đến địa chỉ đó và ghi lại những số liệu mà GPS nói khi chúng ta ở đó
Interpulation – Nội suy: chúng ta không cần phải tốn nhiều sức lực để xác định thông số về địa chỉ đó Phương pháp này cho chúng ta sự chính xác theo một khối gọi là “block level” Phương pháp này liên quan đến 2 điểm chúng ta đã biết sau đó chia khoảng không gian giữa chúng để tính ra vị trí tương đối Bởi vì phương pháp này dựa trên sự tính toán của toán học nên công việc xác định vị trí địa lý thường rẻ hơn phương pháp Rooftop level Tìm hiểu về interpulation:
Phương pháp tạo mới điểm dữ liệu dựa trên những điểm dữ liệu có sẵn Cho geocoding, điều này khá quan trọng cho những con đường mà có những số nhà thì bị bỏ lỡ trong dữ liệu
Trang 24Hình 11 Minh họa interpulation
Ví dụ trên chúng ta biết được địa chỉ đầu và cuối cả 2 bên trên con đường Năm Châu Khi đó để xác định được được địa chỉ 10 Năm Châu chúng ta phải dùng phương pháp interpulation để ước tính địa chỉ
10 là số chẵn vì thế nó sẽ ở bên phần đường số chẵn đó chính là phần đường bên trái có đoạn địa chỉ từ 220 Tiếp theo để xác định tương đối vị trí địa chỉ số
10 chúng ta thấy vị trí số 10 là nằm giữa, 50% trong khoảng số chẵn từ 220 vì vậy chúng ta ước tính địa chỉ 10 năm giữa
Địa chỉ 10 năm châu nằm ở giữa đoạn đường và nằm bên trái trên đoạn đường từ 2 đến
Tương tự chúng ta cũng dùng phương pháp nội suy (interpulation) để ược tính địa chỉ khác của đoạn đường
Kết luận: Phương pháp này tuy đỡ tốn sức lực, tiền bạc, thời gian nhưng độ chính xác cao chỉ khi được đo đạc ở các khu vực thành phố, những nơi được chia thành các khối nhà Còn ở những vùng quê thì phương pháp này không cho được kết quả chính xác bởi vì trên những con đường dài nhiều ngôi nhà không sát nhau mà cách khá xa nhau vì thế phương pháp này không đạt được hiệu quả
3.2.2 Tiến hành so sánh độ chính xác
3.2.2.1 Về mức độ chính xác:
- Google Maps API: độ chính xác Rooftop level và cả độ chính xác interpulation
- Here: độ chính xác Rooftop level
- Mapquest: độ chính xác Rooftop level
Trang 253.2.2.2 Về dữ liệu:
Tiến hành so sánh dữ liệu bằng cách sử dụng cách demo của các dịch vụ này Sau
đó so sánh với những tọa độ - kinh độ/vĩ độ của những địa chỉ mà được xác minh (Address Validation/ Verification)
a) Đo sự chính xác của Google Maps API
Hình 12 Google Maps - Kết quả tọa độ b) Đo sự chính xác của MapQuest
Chúng ta dùng API Mapquest để gửi yêu cầu đến server Nhập vào địa chỉ và key API mà Mapquest cung cấp để gửi dữ liệu kết quả nhận được là mọt mảng JSON các thông số được tìm thấy qua địa chỉ Mapquest API hỗ trợ tìm kiếm nhiều địa chỉ cùng một lúc
Cách thực hiện:
Trang 26Hình 13 Mapquest - Gửi dữ liệu đến API
- Nhập các địa chỉ vào ô location để gửi đến server
- Nhập Key API Mapquest
- Nhấn Send để gửi dữ liệu
- Kết quả Server trả về:
"info": { "statuscode": 0, "copyright": { "text": "© 2020 MapQuest, Inc.", "imageUrl": "http://api.mqcdn.com/res/mqlogo.gif", "imageAltText": "© 2020 MapQuest, Inc."
}, "messages": []
}, "options": { "maxResults": 1, "thumbMaps": false, "ignoreLatLngInput": false
"results": [ { "providedLocation": { "location": "1103 W 1130 N\nOrem Ut"
}, "locations": [ {
"street": "1103 W 1130 N",