SlideShare une entreprise Scribd logo
1  sur  53
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
~~~~~~*~~~~~~
BÁ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
Tải bài mẫu qua zalo 0936.885.877
Tham khảo dịch vụ làm báo cáo thực tập luanvantrithuc.com
NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Giáo viên hướng dẫn : Lê Văn Quốc Anh
Sinh viên thực hiện : Bùi Thiện Nhân MSSV: 1651120111
: Nguyễn Đức Hiếu MSSV: 1651120088
TP. HỒ CHÍ MINH – Năm 2020
2
LỜI CAM ĐOAN
Chúng em bằng những sự cố gắng và nỗ lực tìm hiểu, học hỏi của bản thân
mì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
Nhóm sinh viên thực hiện
Bùi Thiện Nhân
Nguyễn Đức Hiếu
3
MỤC LỤC
LỜI CAM ĐOAN..............................................................................................................................................2
MỤC LỤC .........................................................................................................................................................3
DANH 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
3.6. Giá......................................................................................................................... 40
3.7. Tổng kết................................................................................................................. 42
4. Phát triển ứng dụng demo ..................................................................................................................44
4
4.1. Ứng dụng demo đánh dấu các địa điểm ................................................................ 44
4.1.1. Đăng ký API Key............................................................................................... 44
4.1.2. Load bản đồ ....................................................................................................... 44
4.1.3. Markers.............................................................................................................. 45
4.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
5
DANH MỤC HÌNH
Hình 1 Mô tả địa chỉ US ................................................................................................ 10
Hình 2 Google Map - Key Google Maps API ............................................................... 15
Hì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
6
DANH MỤC BẢNG
Bả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
TT Viết tắt Diễn giải Giải thích
1 GCL Google Cloud Platform Nền tảng đám mây GG
2 POI Points of interest Một vị trí điểm cụ thể mà ai
đó có thể thấy hữu ích hoặc
thú vị
3 LON Longtitude Kinh độ
4 LAT Lattitude Vĩ đọ
5 MGRS Military Grid Reference System Hệ thống tham chiếu lưới
quân sự
6 USNG United States National Grid Lưới quốc gia Hoa Kỳ
7 USPS United States Postal Service Dịch vụ Bưu chính Hoa Kỳ
8 WGS World Geodetic System Hệ thống trắc địa thế giới
9 SLA Service Level Agreement Cam kết chất lượng dịch vụ
Bảng 1 Bảng ký hiệu viết tắt
7
1. Giới thiệu
1.1. Đặt vấn đề
1.1.1. Tính cấp thiết
Ngà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.
1.1.4. Ý nghĩa khoa học của đề tài
Đề tài góp phần vào việc phát triển và mở rộng các ứng dụng kết hợp với các dịch
vụ geocoding đang có trên thế giới.
8
Đề tài là nền tảng trong việc nghiên cứu và ứng dụng dịch vụ geocoding trên bản
đồ.
1.1.5. Ý nghĩa thực tiễn của đề tài
- 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ể.
9
2. Công nghệ liên quan
2.1. Tìm hiểu về geocoding
Geocoding là quá trình chuyển đổi 1 mô tả của 1 vị trí chẳng hạn như cặp địa
chỉ 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.
2.1.2. Địa chỉ là gì?
Để đại diện cho tọa độ đó chúng ta gọi là địa chỉ. Địa chỉ đơn giản là cách thức
được sử dụng để mô tả vị trí.
Cho mục đích geocoding nó có thể là tên đường, tên một nơi hay vị trí.
10
Địa chỉ có nhiều kiểu và định dạng khác nhau bao gồm các tuyến đường, giao
lộ, số nhà với tên con đường và mã bưu chính (Postal Code) tương ứng. Địa chỉ này
giúp geocoding trong việc tìm kiếm, xác định chính xác đến vị trí cụ thể.
Ở Việt Nam phổ biến một số định dạng địa chỉ bao gồm
- 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
Hình 1 Mô tả địa chỉ US
2.1.3. Quá trình xử lý geocoding
Để quá trình tìm kiếm thông tin về địa chỉ được chính xác chúng ta thực hiện
theo 8 bước sau:
Bước Tên bước Ví dụ
1 Nhập địa chỉ vào
input
114 Năm châu, Phường 12, Quận Tân Bình, TPHCM
2 Phân tách địa chỉ 114 | Năm Châu | Phường 12 | Quận Tân Bình | TPHCM
11
3 Các thành phần địa
chỉ Số nhà 114
Tên đường Năm Châu
Phường 12
Quận Tân Bình
Thành phố HCM Hồ Chí Minh
4 Tìm kiếm theo các
thành phần địa chỉ
5 Tính điểm cho các
thành phần Số nhà Đường Phường Điểm
114 Năm
Châu
12 100
115 Năm
Châu
12 85
114 Năm Châu 12 80
6 Lọc danh sách
Số nhà Đường Phường Điểm
114 Năm
Châu
12 100
115 Năm
Châu
12 85
12
7 Dữ liệu phù hợp
nhất
114 Năm Châu, Phường 12, Quận Tân Bình, TP.HCM
8 Xử lí và hiển thị
Bảng 2 Tiến trình geocoding
a) Phân tách địa chỉ
Địa chỉ được nhập trong ô input sẽ được phân chia thành nhiều mức khác nhau.
Như ví dụ trên sẽ được phân tách theo các dấu phẩy.
Trường hợp không có các dấu phẩy ngăn cách như chỗ 114 Năm Châu có thể
phân tách ra theo từng từ và cụm từ.
Cách làm như thế sẽ phân tích và cho ra được nhiều trường hợp để tìm kiếm.
Nhờ đó chúng ta có thể tăng cơ hội tìm kiếm địa chỉ hay tăng tỉ lệ chính xác.
b) Các thành phần của địa chỉ
Sau 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:
13
Ví 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.
14
2.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ý.
15
b) Nghiên cứu và thực hiện triển khai dịch vụ
- Tìm hiểu Google Cloud
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
- Demo chạy các example Google Map 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
16
Hì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
17
Map.
Hì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
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.
18
2.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ợ
 Chrome
19
 Firefox
 Safari 5+
 IE 10–11
 Microsoft Edge
 IOS
 Android
e) Nghiên cứu và thực hiện triển khai dịch vụ
Tìm hiểu
- Map Quest là phần mềm mã nguồn mở cho phép chúng ta sử dụng các API
của nó.
- 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)
- Để sử dụng các API chúng ta cần có tài khoản của
https://developer.mapquest/com. Sau đó tạo Key Mapquest API.
Hình 7 MapQuest - Key MapQuest API
Demo MapQuest
 Khi sử dụng API của MapQuest được tích hợp ô search địa chỉ.
20
 Ví dụ: test code trên môi trường localhost
Hình 8 Mapquest - Demo
 Tương tự Google Map 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 9 Mapquest - Tọa độ bắt đầu
21
Hình 9: Search MapQuest
22
2.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
cách sử dụng nền tảng vị trí số 1 thế giới.
b) Dịch vụ
 Here chiếm vị trí hàng đầu chỉ số nền tảng vị trí, duy trì vị trí dẫn đầu so với
Google trong năm thứ hai hoạt động.
 Here mang lại tính tương tác và tùy chỉnh nhanh chóng trong quá trình phát
triển ứng dụng, với Here map làm nền tảng. Khám phá cơ sở dữ liệu đang phát triển
gồm 58 triệu đường được ánh xạ và 5 triệu thay đổi bản đồ mỗi ngày.
 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
23
 Android
 Edge 17+
 Firefox (latest)
 Google Chrome (latest)
3. So sánh đánh giá
Chúng ta tiến hành so sánh khách quan dựa trên những tìm hiểu và các tiêu chí
sau:
 Đô chính xác (Accuracy)
 Độ tin cậy (Reliability)
 Tốc độ (Speed)
 Tính hợp lệ (Validation)
 Tài liệu và hỗ trợ (Tech Support and Documentation)
 Giá (Price)
3.1. Độ chính xác
3.2.1. Tìm hiểu về độ chính xác
Độ chính xác là yếu tố quan trọng trong geocoding. Các số liệu đầu tiên và rõ ràng
nhất mà dịch vụ geocoding có thể được đánh giá đó chính là độ chính xác.
Để 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.
24
Hì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ừ 220. 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ừ 220 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
25
3.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:
26
Hì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 NnOrem Ut"
},
"locations": [
{
"street": "1103 W 1130 N",
27
"adminArea6": "",
"adminArea6Type": "Neighborhood",
"adminArea5": "Orem",
"adminArea5Type": "City",
"adminArea4": "Utah",
"adminArea4Type": "County",
"adminArea3": "UT",
"adminArea3Type": "State",
"adminArea1": "US",
"adminArea1Type": "Country",
"postalCode": "84057-2887",
"geocodeQualityCode": "P1AAA",
"geocodeQuality": "POINT",
"dragPoint": false,
"sideOfStreet": "R",
"linkId": "r42782820|p70232023|n58151105",
"unknownInput": "",
"type": "s",
"latLng": {
"lat": 40.317866,
"lng": -111.722361
},
"displayLatLng": {
"lat": 40.317667,
"lng": -111.722376
}
}
]
},
- Lấy kết quả tọa độ displayLatLng trả về
c) Đo sự chính xác của Here.
Dùng Postman để tiến hành gửi dữ liệu đến server. Để dùng được API của Here
chúng ta cần phải có OAuth 2.0 Token Credentials cho những request đến dịch vụ
này.
 Vì vậy chúng ta cần tiến hành tạo bearer access tokens và gửi request đến dịch
vụ geocoding Here.
Cách thực hiện:
1. Tạo mới một tab request trên Postman, điền URL của API và đổi thành method
POST.
28
Hình 14 Here – Tiến hành tạo Bearer Key
2. Chọn tab Authorization.
Hình 15 Here - Lấy Access_Token
29
Bước 1: Type  Oauth 1.0
Bước 2: Add authorization data to  Request Headers
Bước 3: Điền consumer key và consumer secret
- Tạo key ở phần Oauth 2.0 trong Project của Here
Hình 16 Here - Tạo credentials key
- Chọn create credentials để tiến hành tạo key.
Hình 17 Here - Access Key ID và Access Key Secret
- Sau khi nhấn create sẽ hiện ra hộp thoại thông báo bao gồm Access key
ID và Access Key Secret. Chúng ta tiến hành copy Access key ID vào
Consumer Key, Access Key Secret vào Consumer Secret
- Lưu ý: Ở đây chúng ta có thể download 2 key này về để lưu trữ bởi vì nó
sẽ chỉ xuất hiện một lần khi chúng ta tiến hành chọn create credentials.
Vì vậy nếu muốn sử dụng key này lâu dài chúng ta cần download để
backup. Nếu không chúng ta phải bỏ key này và lặp lại việc tạo ra key
mới.
30
- Bước 5: Chọn signature Method: HMAC-SHA256
3. Chọn Tab Body
Hình 18 Here - Kết quả
Bước 2: Chọn x-www-form-urlencoded.
Bước 3: Điền key: grant_type
Bước 4: value: client_credenntials.
Bước 5: Chọn Send.
Chúng ta nhận được Access_token với type là bearer. Đây chính là bearer dùng
trong API Here để lấy dữ liệu.
31
Hình 19 Here - Sử dụng Bearer
4. Sau khi có được bearer key tiến hành sử dụng API để get dữ liệu về.
Hình 20 Here - Lấy dữ liệu
Tạo request mới (1)
32
Chọn phương thức GET và Url mà Here cung cấp API. (2)(3)
Chọn Type: Bearer Token và nhập token chúng ta vừa lấy được lúc nãy. (4)(5)
Chọn Send. (6)
Nếu thành công kết quả sẽ hiển thị trong vùng số (7)
Cuối cùng chúng ta lấy được kết quả là danh sách các giá trị của items.
- resultType: trả về loại kết quả tìm kiếm (houseNumber, place, locality,
street…)
- title: chuỗi kí tự đại diện cho kết quả tìm được. Bao gồm là chuỗi địa chỉ địa
đủ.
- Address: chi tiết kết quả của địa chỉ.
- Position: kết quả vị trí địa lý theo chuẩn WGS 84. Đây là tọa độ được dùng
để hiển thị trên bản đồ. Đây cũng chính là kết quả chúng ta lấy để so sánh.
Chúng ta bắt đầu tiến hành so sánh với một số địa chỉ ở US:
Địa chỉ
Google Maps
API Here MapQuest
1224 south 760
utah
west provo
Tìm thấy
Lat 40.21721
40.21723 40.217199
Lon -111.672364
-111.67231 -111.672371
1402 West
Orem Ut
Center St
Lat
40.2959900 40.29742 40.297421
Lon
-111.7298850 -111.72853 -111.728536
727 N
Orem Ut
1550 E Ste 410
Lat 40.2975409
40.31105 40.310747
Lon -111.7285345
-111.65879 -111.659169
1103
Orem Ut
W 1130 N
,
Lat 40.3178831 40.31766 40.317667
33
Lon -111.7220364
-111.72237 -111.722376
765 Academy Dr Bessemer
AL
Lat 33.3628028
33.36277 33.362573
Lon -86.9981227
-86.99805 -86.998556
2665 S Alma School Rd
Mesa AZ
Lat 33.3662019
33.36611 33.36622
Lon 111.8586236
-111.85847 -111.858635
105 W Main St Brawley CA
Lat 32.9788879
32.97902 32.978922
Lon -115.5422487
-115.54207 -115.542278
1994 Silas Deane Hwy
Rocky Hill CT
Lat 41.673516
41.67298 41.673572
Lon -72.6458055
-72.64572 -72.645755
9900 Fm 1079 Cross Plains
TX
Không tìm
thấy
Lat
32.2062 32.20619
Lon
-99.20664 -99.206636
15615 Coyote Falls Rd
Entiat WA
Lat 47.8573292
47.85733 47.857942
Lon -120.4238349
-120.42412 -120.416387
12347 SW 110th South
Canal St Rd Miami, FL
Lat 25.6655372 25.66536 25.665547
34
Lon -80.3962432
-80.39592 -80.396256
Bảng 3 So Sánh Độ Chính Xác Một Số Địa chỉ ở US
Chúng ta bắt đầu tiến hành so sánh với một số địa chỉ ở các nước trên thế giới:
Địa chỉ
Google Maps
API Here MapQuest
Hauptstraße 16
68799 Reilingen, Germany Tìm thấy
Lat 49.2949648
49.29492
49.29491
Lon 8.5765402
8.57654
8.57654
Av. Ricardo Lyon 22
Santiago, Chile
Lat -33.4220651
-33.42195
-33.42215
Lon -70.6095319
-70.60971
-70.6093
Industriestrasse 1
9495 Triesen, Liechtenstein
Lat 47.1193578
47.11936
47.11936
Lon 9.5234901
9.52349
9.52348
1 Bramlin St, Port Elizabeth,
6015, South Africa
Tìm sai địa
chỉ
Lat -33.94177 -33.94264
Lon 25.51116 25.51195
〒904-2142 沖縄県沖縄市登川
1丁目9−15
Không tìm
thấy
35
Lat 26.3697122
33.362573
Lon 127.8197812
-86.998556
91 Dunkeld Rd, Perth, PH1 5AP,
United Kingdom
Lat 56.4066669
56.40657
56.40743
Lon -3.4463073
-3.44623 -3.44818
24/28 Little Collins St
Melbourne VIC 3000, Australia
Lat -37.8125002
-37.81249
-37.81254
Lon 144.9725691
144.97256
144.97264
Prospekt Gagarina, 105, Nizhnij
Novgorod, Nizhegorodskaya
oblast', Nga, 603137
Lat 56.2343831
56.23443 56.26996
Lon 43.951704
43.95071
43.9716
Bảng 4 So Sánh Độ Chính Xác Trên Nhiều Nơi
3.2.3. Tổng kết so sánh
Cả 3 dịch vụ trên đều có những kết quả tìm thấy tương đối chính xác.
Trong đó Google Map có nhiều kết quả tọa độ đến những con số phần trăm nghìn,
phần triệu. Còn Here, MapQuest đa số lấy kết quả tọa độ đến phần chục nghìn.
Google Map hỗ trợ việc tìm kiếm ở nhiều nơi, nhiều ngôn ngữ.
Here hỗ trợ chủ yếu ở Châu Âu, Châu Mỹ còn Châu Á thì dữ liệu của Here ít.
Mapquest thì cho thấy dữ liệu đa dạng, kết quả nhiều nơi được tìm thấy với nhiều
ngôn ngữ. Tuy nhiên Mapquest đặc biệt nổi bật với các kết quả tìm kiếm đến từ Châu
Mỹ.
Ngoài ra, Google Map có lợi thế dễ báo cáo để chỉnh sửa vì thế những địa chỉ
thường xuyên được xác thực hơn ở nhiều nước trên thế giới do đây là dịch vụ mà
36
được nhiều người sử dụng nhất trên thế giới. Có tới 25 triệu lượt cập nhật hằng ngày
và 1 tỉ người dùng active hàng tháng.
37
3.2. Độ tin cậy
Thời gian hoạt động là thước đo độ tin cậy của hệ thống, được biểu thị bằng phần
trăm thời gian của một máy, điển hình là máy tính đang hoạt động và khả dụng.
Uptime cũng là một số liệu để đo lường thời gian hoạt động và kéo dài của một hệ
thống. Đây cũng chính là cách mà chúng ta cho rằng liệu hệ thống hay dịch vụ luôn
luôn hoạt động khi chúng ta cần.
Trong dịch vụ geocoding ở đây chúng ta nói đến thời gian hoạt động của từng dịch
vụ. Ngược lại đó là thời gian ngừng hoạt động của hệ thống gọi là downtime [1].
Availability % Downtime / year Downtime / month Downtime / week
99% 3.65 ngày 7.20 giờ 1.68 giờ
99.9% 8.76 giờ 43.2 phút 10.1 phút
99.99% 52.6 phút 4.32 phút 1.01 phút
99.999% 5.26 phút 25.9 giây 6.05 giây
99.9999% 31.5 giây 2.59 giây 0.605 giây
Bảng 5 Downtime
Kết quả sau khi tìm hiểu và so sánh theo tiêu chí SLA:
- Google Maps API: 99.9% theo hằng tháng cho mỗi dịch vụ cụ thể
 Directions API
 Distance Matrix API
 Elevation API
 Geocoding API
 Geolocation API
 Maps JavaScript API
 Maps SDK for Android
 Maps SDK for iOS
 Maps Static API
 Places API
38
 Places SDK for Android
 Places SDK for iOS
 Roads API
 Street View Static API
 Time Zone API
- Mapquest: Không có con số Uptime cụ thể.
 Hoạt động 24/7 nghĩa là 24 giờ mỗi ngày, 7 ngày mỗi tuần chưa bao gồm
các hoạt động bảo trì, lịch trình thời gian downtime và một số khoảng
thời gian không dự đoán trược được.
- Here: 99.9% hằng tháng cho các API sau:
 Maps
 Routing
 Geocoding
 Traffic
 Positioning
 Weather
 Fleet Telematics
 Search
 Transit
 HERE SDK (server components)
 Cả 3 dịch vụ đều cam kết về độ tin cậy hệ thống cao. Tuy nhiên Mapquest thì lại
không có con số Uptime cụ thể vì vậy sẽ vẫn có rủi ro khi hệ thông bị trục trặc hay
bị tấn công thường xuyên.
3.3. Tốc độ [2]
Phương pháp so sánh tốc độ này được thực hiện để so sánh giữa Google Map,
Bing, Mapquest. Nhưng phần này chúng ta chỉ tìm hiểu Google Map và MapQuest.
Here thì chưa có số liệu test.
Để thực hiện chúng ta sẽ có một bộ dữ liệu bao gồm 670 địa chỉ đầy đủ và chỉ là
địa chỉ ở US. Những địa chỉ này sẽ được chuyển đổi thành dạng URL theo tiêu chuẩn
của từng dịch vụ.
Ví dụ:
 GoogleMap
https://maps.googleapis.com/maps/api/geocode/json?address=ENCODED_AD
DRESS
 MapQuest
https://www.mapquestapi.com/geocoding/v1/address?key=API_KEY&location
=ENCODED_ADDRESS
39
Lưu trữ những URL theo định dạng trên thành 2 file chứa các URL của Google
Map và Mapquest. Mỗi URL này được lưu trên 1 dòng khác nhau. Sau đó sử dụng thư
viện Python, chia tập URL này thành những nhóm có kích thước bằng nhau 10, 30,
67, 100. Tiến hành chạy gửi request những nhóm này cho đến khi hoàn thành và làm
nhiều lần với từng nhóm để có nhiều kết quả sau đó lấy giá trị trung bình làm kết quả
cho từng nhóm.
Group size Google Map Mapquest
100
14.626393
13.215507
67
12.980358 14.202346
30
13.332298 17.450716
10 26.12703 37.086448
Bảng 6 Kết quả so sánh tốc độ
Qua kết quả trên cho thấy thời gian dịch vụ Google Map geocoding rất nhanh tuy
nhiên khi kích cỡ nhóm thử nghiệm lớn thì Mapquest lại cho kết quả tối ưu hơn.
Tỉ lệ lỗi: Tỉ lệ xảy ra lỗi qua các lần test là rất nhỏ mặc dù gửi 100 request cùng
một lúc những các máy chủ dịch vụ vẫn hoạt động khá tốt.
3.4. Tính thẩm định
Tính thẩm định ở đây nói đến là thẩm định địa chỉ hay xác thực một địa chỉ.
Địa chỉ được xác thực nghĩa là địa chỉ này được so sánh với địa chỉ trong một cơ
sở dữ liệu có thẩm quyền chẳng hạn như cơ sở dữ liệu bưu điện Việt Nam hay USPS.
Nếu địa chỉ đó khớp với địa chỉ có trên hệ thống thì địa chỉ được xác nhận đó là địa
chỉ thực. Từ đó, dữ liệu thì càng chính xác, được xác nhận và các địa chỉ sai hay địa
chỉ ảo sẽ không có trong cơ sở dữ liệu.
Việc xác thực địa chỉ là một thử thách khó bởi vì không có quy định hay định
nghĩa nào để xác thực được địa chỉ. Và vì vậy các hệ thống dịch vụ đều được xây
dựng để xử lí việc này.
Các bước để có được địa chỉ xác thực:
- Chuyển đổi, phân tách địa chỉ theo tiêu chuẩn riêng như phần quá trình xử
lý geocoding
- Sau khi địa chỉ được format, nó sẽ được xác thực bởi việc tìm kiếm sự giống
nhau trong cơ sở dữ liệu chính thức. Nếu khớp thì xác thực và ngược lại.
Một vài nguyên nhân dẫn đến địa chỉ không được xác thực:
40
- Địa chỉ ảo: đây là địa chỉ giả, đã từng tồn tại hoặc không tồn tại. Ví dụ: một
căn nhà đã bị gõ bỏ trong 3 tháng nhưng địa chỉ vẫn đang được sử dụng.
- Địa chỉ chưa được đăng kí: Các căn nhà mới xây chưa được đăng ký hay
chưa cập nhật vào cơ sở dữ liệu của hệ thống thì nó chưa được xác thực.
 Việc xác thực địa chỉ là thực sự khó khăn. Và để thực hiện được điều này
chúng ta phải tham chiếu, sử dụng đến dữ liệu, hồ sơ của cơ sở bưu chính chính thức.
Google Maps, Here, Mapquest chưa có tài liệu nào phân tích về tính thẩm định
này.
3.5. Tài liệu và hỗ trợ
Google Maps API: Tài liệu đầy đủ chi tiết, có nhiều nguồn tài liệu giúp đỡ khi tìm
hiểu về google map chẳng hạn như: Stack OverFlow, Youtube, Github. Tài liệu hỗ trợ
nhiều thứ tiếng. Chỉ hỗ trợ người dùng trả phí khi sử dụng dịch vụ.
MapQuest: Tài liệu hạn chế hơn, hỗ trợ qua forum
https://developer.mapquest.com/forum và report. Tuy nhiên forum lại khá hạn chế khi
không có thanh công cụ search mà thay vào đó chỉ có pagination.
Developer Here: Tài liệu trực quan đầy đủ nhưng ít tài liệu mở rộng hay trao đổi
của người dùng. Hỗ trợ công nghệ cho người dùng sử dụng miễn phí qua tài liệu
Stack OverFlow và người dùng trả phí qua cổng hỗ trợ khách hàng riêng.
3.6. Giá
Google Maps API: phụ thuộc vào việc mình sử dụng. “Pay as you go” xài bao
nhiêu thì phí dịch vụ tương ứng với tài liệu sử dụng. Việc trả phí cho những requests
của Geocoding API và Maps Javascript Api’s Geocoding Service. Tuy nhiên chúng ta
sẽ được dùng miễn phí lên tới 200$ hàng tháng.
Hình 21 Google Map - Giá dịch vụ Map
41
Hình 22 Google Map - Giá Geocoding, Places
 Ví dụ: Theo bảng giá dịch vụ trên, khi chúng ta sử dụng dịch vụ geocoding,
dynamic Maps và Find Places sẽ tính tiền ra giá trị như sau:
 Dynamic Maps: Với 10,000 views một tháng: 20,000*7$/1000 = 70$
 Geocoding: 100,000 yêu cầu Geocoding API: 100,000*5$/1000=500$
 Find Place: 5000 yêu cầu tìm kiếm: 5000*17*/1000= 85$
 Vậy trong một tháng với nhu cầu sử dụng như vậy chúng ta phải trả số tiền
70+500+85 = 655$ - 200$ = 455$. Với 200$ là số tiền mà hàng tháng chúng ta
được sử dụng free.
Here: Chọn theo gói giá đã được đặt sẵn. Với phần tài nguyên bị sử dụng vượt quá
phạm vi gói sẽ thêm số tiền tương ứng.
 Ví dụ: Ở gói freemium (miễn phí), sau khi dùng hết 250k transactions/ 1 tháng
sẽ tính thêm giá. Khi sử dụng thêm dữ liệu tương ứng 100MB/1$, 1000
transactions/1$ và băng thông dữ liệu tương ứng 5GB/3$
 Ở gói add-on, sau khi dùng hết 250k transactions/ 1 tháng sẽ tính thêm giá. Khi
sử dụng thêm dữ liệu tương ứng 100MB/45$,1000 transactions/1$ và băng
thông dữ liệu tương ứng 5GB/3$. Tuy nhiên giá gói cước này là 45$/tháng.
 Ở gói pro, sau khi dùng hết 1,000,000 transactions/ 1 tháng sẽ tính thêm giá.
Khi sử dụng thêm dữ liệu tương ứng 1000 transactions/1$. Tuy nhiên giá gói
cước này là 449$/tháng.
Mapquest: Chia làm 2 loại cơ bản và nâng cao. Mỗi loại có nhiều gói khác từ giá
trị nhỏ đến lớn phù hợp theo nhiều yêu cầu. Với lựa chọn loại nâng cao chúng ta có
thể sử dụng và lưu trữ các kết quả geocoding mà không cần hiển thị trên map.
 Free: 15,000transactions/month, tương tự như vậy số transactions càng nhiều
thì giá tiền càng cao.
 Cơ bản: Free->Basic->Plus->Business->BusinessPlus
 Nâng cao: Business Enhanced -> Business Plus Enhanced
42
So sánh giá dựa trên việc sử dụng 100k request / tháng khi sử dụng tìm kiếm và
hiển thị trên map của website:
Geocoding Monthly Price (100,000 requests)
Google Maps API 300$
Here 399$
Mapquest 0$ + data tranfer + storage data
3.7. Tổng kết
Bảng 7 So sánh Price
Trong 3 dịch vụ nhóm tìm hiểu, chúng tôi chọn ra dịch vụ Google Map để tiếp tục
phát triển ứng dụng demo có sử dụng PHP, MySQL để xây dựng ứng dụng đánh dấu
các địa điểm trên bản đồ.
Dịch vụ Google Map được chọn vì nhiều lý do như:
 Về tần suất người sử dụng trên thế giới lớn.
 Lịch sử cập nhật bản đồ về địa điểm, đường đi hằng ngày.
 Dễ sử dụng API key để áp dụng vào trang web đơn giản.
 Độ chính xác rất cao trong nhiều kết quả tìm kiếm google maps API cho thấy
hầu hết các kết quả đều được tìm thấy. Con số tọa độ được google Maps API
đưa ra lên tới phần triệu – phần chục triệu.
 Hỗ trợ nhiều ngôn ngữ trong tìm kiếm.
 Tài liệu có thể nói nhiều và đầy đủ nhất trong 3 dịch vụ mà nhóm tìm hiểu.
Nguồn tài liệu lớn trong đó có hỗ trợ nhiều phiên bản về ngôn ngữ đặc biệt
trong đó có phiên bản tiếng việt.
 Các cam kết về thời gian làm việc – uptime rõ ràng rành mạch.
 Tốc độ geocoding cũng khá nhanh tuy thua mapquest khi số lượng request
nhiều nhưng khá ổn định.
 Ngoài nguồn tài liệu trực tiếp trên website. Google Map còn nhiều tài liệu được
viết do các nhà phát triển nghiên cứu và biên soạn.
 Bên cạnh đó, các trang web nổi tiếng trong lập trình như Stack OverFlow cũng
có rất nhiều thảo luận hay câu hỏi về cách sử dụng của Google Map.
 Việc sử dụng google maps API để tích hợp hiển thị đơn giản map trên website
khá dễ sử dụng.
43
 Về giá khi sử dụng tài nguyên Google Map, được công bố rõ ràng chia ra thành
nhiều hạng mục lớn, hạng mục nhỏ. Người sử dụng dịch vụ tham khảo giá rõ
ràng và quan sát, theo dõi được mức độ sử dụng dịch vụ của mình. Nhờ đó
chúng ta có thể lập kế hoạch phân bổ nguồn lực vốn, quản lý được lượt truy cập
sử dụng website của mình thông qua thông số của Google Map.
 Hằng tháng được sử dụng 200$ miễn phí cho các dịch vụ mà chúng ta dùng.
Nếu quá 200$ thì “pay as you go”. Sử dụng bao nhiêu thì trả bấy nhiêu tương
ứng với tài nguyên mình sử dụng.
 Ngoài ra còn có nhiều bài hướng sử dụng dẫn đến từ nhiều nền tảng khác nhau
trang như facebook, youtube, blog…
 Có thể gọi Google Map là ông tổ trong các dịch vụ geocoding. Trong quá trình
tìm hiểu và so sánh. Ngoài những document, thông tin của các dịch vụ nhóm
còn tìm hiểu qua các bài luận, các nghiên cứu so sánh giữa các dịch vụ. Và hiển
nhiên Google Map là dịch vụ mà hầu các bài luận, nghiên cứu so sánh đều lấy
Google Map ra để so sánh giống như một chuẩn chung.
44
4. Phát triển ứng dụng demo
4.1. Ứng dụng demo đánh dấu các địa điểm
Với những kiến thức tìm hiểu về dịch vụ Google Map và một số kiến thức về PHP,
MySQL, Javascript, Jquery, Ajax … để xây dựng ứng dụng demo này.
Ứng dụng sẽ dùng để lưu lại các vị trí (tòa nhà, công viên …) vào cơ sở dữ liệu
thông qua dịch vụ tìm kiếm địa chỉ Google Map. Sau đó lấy dữ liệu đã được lưu trong
cơ sở dữ liệu ra và đánh dấu hiển thị trên bản đồ.
Mục đích: Giúp chúng ta lưu trữ lại những nơi mà chúng ta lưu ý đến. Ngoài ra
còn có sử dụng hiển thị chi tiết các thông tin điểm đánh dấu mà chúng ta đã lưu vào
cơ sở dữ liệu.
Để thực hiện được ứng dựng demo này chúng ta ứng dụng:
4.1.1. Đăng ký API Key
Ứng dụng Maps API sử dụng một API key. Một key API cho chúng ta kiểm soát
các ứng dụng.
Chúng ta xem lại tại phần Dịch vụ Google Map.
4.1.2. Load bản đồ
Khi đã có key google cung cấp ta sử dụng key đó trong đoạn mã javascripts trong
cặp thẻ script với phương thức callback hàm initMap:
Hình 23 Callback Google Map Script
Sau đó chúng ta tiến hành tạo hàm initMap javascript:
Hình 24 Hàm callBack initMap()
45
- Center: một điểm làm trung tâm của bản đồ Latitude (vĩ độ) và Longitude
(kinh độ).
- Zoom: độ zoom được quy định khi Map được load.
4.1.3. Markers
Markers dùng để xác định một điểm trên bản đồ hoặc đánh dấu địa điểm dựa trên
vĩ độ và kinh độ. Theo mặc định sử dụng icon của google làm hình ảnh hiện lên điểm
đánh dấu.
Sau đây là các trường được xây dựng trong new google.maps.Marker:
- Position (bắt buộc): quy định là tọa độ LatLng của điểm được đánh dấu.
- Map: quy định đối tượng bản đồ được đánh dấu. nếu thuộc tính này được
khai báo trong đây nó sẽ thay thế cho Markers.setMap(map).
- Icon: hình ảnh tùy chọn mà chúng ta muốn hiển thị thay thế hình ảnh mặc
định. Dùng tùy chọn này thay thế cho marker.setIcon(url).
- Title (tùy chọn): tiêu đề của địa điểm.
- Draggable: kéo thả markers trên bản đồ. Nếu TRUE tính động được khởi
động.
4.1.4. Info Windows
Hình 25 Markers
Infowindows là một cửa sổ chứa các thông tin. Thông tin này là tùy chọn. Chúng
ta gọi Infowindows.open() để có thể mở được cửa sổ
Trông như hình ảnh sau:
46
4.1.5. Các sự kiện
Hình 26 InfoWindow
Một số đối tượng trong Maps API được thiết kế để đáp ứng với sự kiện người sử
dụng chẳng hạn như các sự kiện chuột hoặc bàn phím.
Một đối tượng google.maps.Marker có thể lắng nghe người sử dụng các sự kiện:
- click
- dbClick
- mousedown
- mouseover
- mouseout
4.1.6. Tiến hành thực hiện ứng dụng
a) Cơ sở dữ liệu
Bao gồm các trường để lưu trữ thông tin về địa chỉ (address), kinh độ (lat), vĩ
độ (lon), ghi chú trên địa điểm (note), biểu tượng marker hiển thị đánh dấu trên map
(icon).
47
b) Khởi tạo Map và giao diện
Hình 27 Database
Hình 28 Giao diện ứng dụng
Sử dụng Place Autocomplete của Google Map để hiển thị bản đồ. Sau đó custom
thanh tìm kiếm, tạo chế độ hiển thị markers trên map (hide/show) và tạo form để gửi
thông tin về địa chỉ.
48
Khi nhập vào ô tìm kiếm hệ thống Google Map API sẽ tự động gợi ý về địa chỉ mà
chúng ta tìm kiếm.
Hình 29 AutoComplete SearchBox
Chúng ta tiến hành chọn địa chỉ phù hợp với địa chỉ mà chúng ta tìm kiếm. Thông tin
về địa chỉ, tọa độ sẽ được load đến form.
Hình 30 Kết quả tìm kiếm
Tiếp theo nếu muốn lưu lại địa chỉ này chúng ta có thể nhập vào ô ghi chú về tên mà
địa điểm chúng ta muốn lưu, cùng với đó là chọn biểu tượng icon mà chúng ta muốn
hiển thị trên map. Ở đây chúng ta lựa chọn ghi chú + icon như trong ảnh.
Cuối cùng, nhấn submit để tiến hành lưu vào cơ sở dữ liệu đồng thời hiển thị icon
đánh dấu trên bản đồ.
49
- Dữ liệu lưu thành công vào cơ sở dữ liệu như sau:
Hình 31 Kết quả lưu dữ liệu
- Hiển thị icon của biểu tượng karaoke trên bản đồ.
Hình 32 Kết quả hiển thị Markers
- Hiển thị các thông tin địa điểm đã lưu khi di chuyển chuột vào.
50
Hình 33 Kết quả hiện thị InfoWindow
- Ngoài ra chúng ta có thể lự chọn hide ở trên thanh tìm kiếm để hiện thị hay ẩn
markers đang có trên map:
Hình 34 Kết quả Hide
51
5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
5.1. Kết luận
Với mục tiêu nghiên cứu các dịch vụ, so sánh chọn lựa và xây dựng ứng dụng
demo sử dụng 1 dịch vụ geocoding hiệu quả nhất. Đề tài đã đạt được những kết quả
cụ thể sau:
 Hoàn thành so sánh tổng quan giữa 3 dịch vụ geocoding: Google Map, Here,
Mapquest.
 Lựa chọn dịch vụ Google Map để tiến hành xây dựng demo sản phẩm.
 Hoàn thành thiết kế cơ sở dữ liệu lưu trữ thông tin địa điểm.
 Hoàn thành giao diện trang web.
 Hoàn thành thiết kế và xây dựng các chức năng.
 Ứng dụng:
 Tìm kiếm thông tin địa điểm, gợi ý địa chỉ khi nhập liệu thông qua dịch
vụ Google Map API.
 Tùy chỉnh hiển thị hoặc ẩn các markers trên bản đồ.
 Trả về thông tin địa điểm (kinh độ, vĩ độ) trên form.
 Ghi chú và chọn icon cùng với thông tin địa điểm để hiển thị địa điểm
trên bản đồ.
Tuy nhiên, ngoài những mục tiêu đã đạt được đề tài còn tồn tại một số hạn chế:
 Một số đánh giá như tốc độ còn chưa thực hiện được và sử dụng tham khảo qua
các trang web, bài viết phân tích khác.
 Giao diện website còn đơn giản, chưa đầy đủ, không thực sự chuyên nghiệp.
5.2. Hướng phát triển
Mặc dù đề tài đã đạt được mục tiêu đề ra nhưng để đề tài hoàn thiện và có thể ứng
dụng vào thực tế, đề tài cần nghiên cứu bổ sung thêm các nội dung sau:
 Tiến hành nghiên cứu và phân tích các dịch vụ geocoding chi tiết hơn. Đặc biệt
là phần so sánh.
 Tiến hành so sánh được tốc độ trên group lớn để có được kết quả thực tế hơn.
 Thiết kế giao diện chuyên nghiệp hơn.
52
 Nghiên cứu xây dựng thêm các chức năng khác (xóa markers …), quản lý
thông tin.
 Xây dựng và phát triển chế độ bảo mật khi đưa lên mạng internet.
53
Tài liệu tham khảo
[1] Hutchinson, Matthew J (2010). Developing an Agent-Based
Framework for Intelligent Geocoding (PhD thesis). Curtin University.
[2] Ratcliffe, Jerry H. (2001). "On the accuracy of TIGER-type geocoded
address data in relation to cadastral and census areal
units" (PDF). International Journal of Geographical Information Science.
[3] "Spatially enabling the data: What is geocoding?". National Criminal
Justice Reference Service. Retrieved 22 June 2016.
[4] "On the accuracy of TIGER-type geocoded address data in relation
to," Ratcliffe, Jerry H., 2001.
[5] B. LLC, "Fastest Geocoders: Benchmarking Google, Bing, and
MapQuest," [Online]. Available: https://blog.batchgeo.com/fastest-
geocoders-benchmarking-google-bing-and-mapquest.

Contenu connexe

Similaire à Báo cáo thực tập công nghệ thông tin, 9đ

Đề Tài Khóa luận 2024 Thực trạng công tác kế toán thuế giá trị gia tăng và th...
Đề Tài Khóa luận 2024 Thực trạng công tác kế toán thuế giá trị gia tăng và th...Đề Tài Khóa luận 2024 Thực trạng công tác kế toán thuế giá trị gia tăng và th...
Đề Tài Khóa luận 2024 Thực trạng công tác kế toán thuế giá trị gia tăng và th...lamluanvan.net Viết thuê luận văn
 
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân ViênLuận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân ViênHỗ Trợ Viết Đề Tài luanvanpanda.com
 
Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...
Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...
Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...https://www.facebook.com/garmentspace
 
Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...
Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...
Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...NOT
 
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...luanvantrust
 
Bao caoquanlykho 2-29.12.2016
Bao caoquanlykho 2-29.12.2016Bao caoquanlykho 2-29.12.2016
Bao caoquanlykho 2-29.12.2016Binh Tieu
 
Phân lập, tuyển chọn các chủng vi khuẩn có hoạt tính keo tụ sinh học từ các a...
Phân lập, tuyển chọn các chủng vi khuẩn có hoạt tính keo tụ sinh học từ các a...Phân lập, tuyển chọn các chủng vi khuẩn có hoạt tính keo tụ sinh học từ các a...
Phân lập, tuyển chọn các chủng vi khuẩn có hoạt tính keo tụ sinh học từ các a...TÀI LIỆU NGÀNH MAY
 
Luận văn: Các nhân tố của chất lượng dịch vụ đào tạo ảnh hưởng đến sự hài lòn...
Luận văn: Các nhân tố của chất lượng dịch vụ đào tạo ảnh hưởng đến sự hài lòn...Luận văn: Các nhân tố của chất lượng dịch vụ đào tạo ảnh hưởng đến sự hài lòn...
Luận văn: Các nhân tố của chất lượng dịch vụ đào tạo ảnh hưởng đến sự hài lòn...Viết thuê trọn gói ZALO 0934573149
 
Quản lý hệ thống xếp hạng tín dụng cá nhân tại ngân hàng TMCP Kiên Long chi n...
Quản lý hệ thống xếp hạng tín dụng cá nhân tại ngân hàng TMCP Kiên Long chi n...Quản lý hệ thống xếp hạng tín dụng cá nhân tại ngân hàng TMCP Kiên Long chi n...
Quản lý hệ thống xếp hạng tín dụng cá nhân tại ngân hàng TMCP Kiên Long chi n...Man_Ebook
 
Phân Tích Hiệu Quả Hoạt Động Kinh Doanh Tại Công Ty Kinh Doanh Đồ Gia Dụng.docx
Phân Tích Hiệu Quả Hoạt Động Kinh Doanh Tại Công Ty Kinh Doanh Đồ Gia Dụng.docxPhân Tích Hiệu Quả Hoạt Động Kinh Doanh Tại Công Ty Kinh Doanh Đồ Gia Dụng.docx
Phân Tích Hiệu Quả Hoạt Động Kinh Doanh Tại Công Ty Kinh Doanh Đồ Gia Dụng.docxNhận Viết Đề Tài Trọn Gói ZALO 0932091562
 
Luận Văn Kiểm Soát Rủi Ro Tuân Thủ Thuế Nghiên Cứu Trường Hợp Cục Thuế Tỉnh Đ...
Luận Văn Kiểm Soát Rủi Ro Tuân Thủ Thuế Nghiên Cứu Trường Hợp Cục Thuế Tỉnh Đ...Luận Văn Kiểm Soát Rủi Ro Tuân Thủ Thuế Nghiên Cứu Trường Hợp Cục Thuế Tỉnh Đ...
Luận Văn Kiểm Soát Rủi Ro Tuân Thủ Thuế Nghiên Cứu Trường Hợp Cục Thuế Tỉnh Đ...Viết Thuê Luận Văn Luanvanpanda.com
 
Luận Văn Giải Pháp Nâng Cao Sự Cam Kết Với Tổ Chức Của Nhân Viên Tại Ngân Hàn...
Luận Văn Giải Pháp Nâng Cao Sự Cam Kết Với Tổ Chức Của Nhân Viên Tại Ngân Hàn...Luận Văn Giải Pháp Nâng Cao Sự Cam Kết Với Tổ Chức Của Nhân Viên Tại Ngân Hàn...
Luận Văn Giải Pháp Nâng Cao Sự Cam Kết Với Tổ Chức Của Nhân Viên Tại Ngân Hàn...Hỗ Trợ Viết Đề Tài luanvanpanda.com
 
CẢI THIỆN CÔNG TÁC TUYỂN DỤNG LAO ĐỘNG TẠI CÔNG TY CỔ PHẦN TECHNO VIỆT NAM CO...
CẢI THIỆN CÔNG TÁC TUYỂN DỤNG LAO ĐỘNG TẠI CÔNG TY CỔ PHẦN TECHNO VIỆT NAM CO...CẢI THIỆN CÔNG TÁC TUYỂN DỤNG LAO ĐỘNG TẠI CÔNG TY CỔ PHẦN TECHNO VIỆT NAM CO...
CẢI THIỆN CÔNG TÁC TUYỂN DỤNG LAO ĐỘNG TẠI CÔNG TY CỔ PHẦN TECHNO VIỆT NAM CO...lamluanvan.net Viết thuê luận văn
 
ứNg dụng phần mềm microstation v8i vàg cadas thành lập bản đồ địa chính, mảnh...
ứNg dụng phần mềm microstation v8i vàg cadas thành lập bản đồ địa chính, mảnh...ứNg dụng phần mềm microstation v8i vàg cadas thành lập bản đồ địa chính, mảnh...
ứNg dụng phần mềm microstation v8i vàg cadas thành lập bản đồ địa chính, mảnh...TÀI LIỆU NGÀNH MAY
 
ứNg dụng phần mềm microstation v8i và g cadas thành lập bản đồ địa chính, mản...
ứNg dụng phần mềm microstation v8i và g cadas thành lập bản đồ địa chính, mản...ứNg dụng phần mềm microstation v8i và g cadas thành lập bản đồ địa chính, mản...
ứNg dụng phần mềm microstation v8i và g cadas thành lập bản đồ địa chính, mản...TÀI LIỆU NGÀNH MAY
 

Similaire à Báo cáo thực tập công nghệ thông tin, 9đ (20)

Đề Tài Khóa luận 2024 Thực trạng công tác kế toán thuế giá trị gia tăng và th...
Đề Tài Khóa luận 2024 Thực trạng công tác kế toán thuế giá trị gia tăng và th...Đề Tài Khóa luận 2024 Thực trạng công tác kế toán thuế giá trị gia tăng và th...
Đề Tài Khóa luận 2024 Thực trạng công tác kế toán thuế giá trị gia tăng và th...
 
Sự phát sinh đột biến ở thế hệ M2 của dòng lúa chịu hạn, HOT
Sự phát sinh đột biến ở thế hệ M2 của dòng lúa chịu hạn, HOTSự phát sinh đột biến ở thế hệ M2 của dòng lúa chịu hạn, HOT
Sự phát sinh đột biến ở thế hệ M2 của dòng lúa chịu hạn, HOT
 
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân ViênLuận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
 
Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...
Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...
Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...
 
Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...
Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...
Giải pháp nâng cao hiệu quả sản xuất kinh doanh của công ty trách nhiệm hữu h...
 
Nâng cao hiệu quả sản xuất kinh doanh của công ty ĐIỂM 8, RẤT HAY
Nâng cao hiệu quả sản xuất kinh doanh của công ty ĐIỂM 8, RẤT HAYNâng cao hiệu quả sản xuất kinh doanh của công ty ĐIỂM 8, RẤT HAY
Nâng cao hiệu quả sản xuất kinh doanh của công ty ĐIỂM 8, RẤT HAY
 
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
 
Bao caoquanlykho 2-29.12.2016
Bao caoquanlykho 2-29.12.2016Bao caoquanlykho 2-29.12.2016
Bao caoquanlykho 2-29.12.2016
 
Nâng cao hiệu quả làm việc của nhân viên tại Công ty Muôn Tài Lộc.doc
Nâng cao hiệu quả làm việc của nhân viên tại Công ty Muôn Tài Lộc.docNâng cao hiệu quả làm việc của nhân viên tại Công ty Muôn Tài Lộc.doc
Nâng cao hiệu quả làm việc của nhân viên tại Công ty Muôn Tài Lộc.doc
 
Phân lập, tuyển chọn các chủng vi khuẩn có hoạt tính keo tụ sinh học từ các a...
Phân lập, tuyển chọn các chủng vi khuẩn có hoạt tính keo tụ sinh học từ các a...Phân lập, tuyển chọn các chủng vi khuẩn có hoạt tính keo tụ sinh học từ các a...
Phân lập, tuyển chọn các chủng vi khuẩn có hoạt tính keo tụ sinh học từ các a...
 
Luận văn: Các nhân tố của chất lượng dịch vụ đào tạo ảnh hưởng đến sự hài lòn...
Luận văn: Các nhân tố của chất lượng dịch vụ đào tạo ảnh hưởng đến sự hài lòn...Luận văn: Các nhân tố của chất lượng dịch vụ đào tạo ảnh hưởng đến sự hài lòn...
Luận văn: Các nhân tố của chất lượng dịch vụ đào tạo ảnh hưởng đến sự hài lòn...
 
Quản lý hệ thống xếp hạng tín dụng cá nhân tại ngân hàng TMCP Kiên Long chi n...
Quản lý hệ thống xếp hạng tín dụng cá nhân tại ngân hàng TMCP Kiên Long chi n...Quản lý hệ thống xếp hạng tín dụng cá nhân tại ngân hàng TMCP Kiên Long chi n...
Quản lý hệ thống xếp hạng tín dụng cá nhân tại ngân hàng TMCP Kiên Long chi n...
 
Phân Tích Hiệu Quả Hoạt Động Kinh Doanh Tại Công Ty Kinh Doanh Đồ Gia Dụng.docx
Phân Tích Hiệu Quả Hoạt Động Kinh Doanh Tại Công Ty Kinh Doanh Đồ Gia Dụng.docxPhân Tích Hiệu Quả Hoạt Động Kinh Doanh Tại Công Ty Kinh Doanh Đồ Gia Dụng.docx
Phân Tích Hiệu Quả Hoạt Động Kinh Doanh Tại Công Ty Kinh Doanh Đồ Gia Dụng.docx
 
Các Yếu Tố Ảnh Hưởng Đến Ý Định Sử Dụng Ứng Dụng Giao Đồ Ăn
Các Yếu Tố Ảnh Hưởng Đến Ý Định Sử Dụng Ứng Dụng Giao Đồ ĂnCác Yếu Tố Ảnh Hưởng Đến Ý Định Sử Dụng Ứng Dụng Giao Đồ Ăn
Các Yếu Tố Ảnh Hưởng Đến Ý Định Sử Dụng Ứng Dụng Giao Đồ Ăn
 
Luận Văn Kiểm Soát Rủi Ro Tuân Thủ Thuế Nghiên Cứu Trường Hợp Cục Thuế Tỉnh Đ...
Luận Văn Kiểm Soát Rủi Ro Tuân Thủ Thuế Nghiên Cứu Trường Hợp Cục Thuế Tỉnh Đ...Luận Văn Kiểm Soát Rủi Ro Tuân Thủ Thuế Nghiên Cứu Trường Hợp Cục Thuế Tỉnh Đ...
Luận Văn Kiểm Soát Rủi Ro Tuân Thủ Thuế Nghiên Cứu Trường Hợp Cục Thuế Tỉnh Đ...
 
Luận Văn Giải Pháp Nâng Cao Sự Cam Kết Với Tổ Chức Của Nhân Viên Tại Ngân Hàn...
Luận Văn Giải Pháp Nâng Cao Sự Cam Kết Với Tổ Chức Của Nhân Viên Tại Ngân Hàn...Luận Văn Giải Pháp Nâng Cao Sự Cam Kết Với Tổ Chức Của Nhân Viên Tại Ngân Hàn...
Luận Văn Giải Pháp Nâng Cao Sự Cam Kết Với Tổ Chức Của Nhân Viên Tại Ngân Hàn...
 
CẢI THIỆN CÔNG TÁC TUYỂN DỤNG LAO ĐỘNG TẠI CÔNG TY CỔ PHẦN TECHNO VIỆT NAM CO...
CẢI THIỆN CÔNG TÁC TUYỂN DỤNG LAO ĐỘNG TẠI CÔNG TY CỔ PHẦN TECHNO VIỆT NAM CO...CẢI THIỆN CÔNG TÁC TUYỂN DỤNG LAO ĐỘNG TẠI CÔNG TY CỔ PHẦN TECHNO VIỆT NAM CO...
CẢI THIỆN CÔNG TÁC TUYỂN DỤNG LAO ĐỘNG TẠI CÔNG TY CỔ PHẦN TECHNO VIỆT NAM CO...
 
Luận văn: Kỹ thuật dự báo thời tiết tại khu vực có phạm vi nhỏ
Luận văn: Kỹ thuật dự báo thời tiết tại khu vực có phạm vi nhỏLuận văn: Kỹ thuật dự báo thời tiết tại khu vực có phạm vi nhỏ
Luận văn: Kỹ thuật dự báo thời tiết tại khu vực có phạm vi nhỏ
 
ứNg dụng phần mềm microstation v8i vàg cadas thành lập bản đồ địa chính, mảnh...
ứNg dụng phần mềm microstation v8i vàg cadas thành lập bản đồ địa chính, mảnh...ứNg dụng phần mềm microstation v8i vàg cadas thành lập bản đồ địa chính, mảnh...
ứNg dụng phần mềm microstation v8i vàg cadas thành lập bản đồ địa chính, mảnh...
 
ứNg dụng phần mềm microstation v8i và g cadas thành lập bản đồ địa chính, mản...
ứNg dụng phần mềm microstation v8i và g cadas thành lập bản đồ địa chính, mản...ứNg dụng phần mềm microstation v8i và g cadas thành lập bản đồ địa chính, mản...
ứNg dụng phần mềm microstation v8i và g cadas thành lập bản đồ địa chính, mản...
 

Plus de Dịch vụ Làm Luận Văn 0936885877

Báo cáo thực tập quản trị nhân sự tại công ty Bất Động Sản Win Home
Báo cáo thực tập quản trị nhân sự tại công ty Bất Động Sản Win HomeBáo cáo thực tập quản trị nhân sự tại công ty Bất Động Sản Win Home
Báo cáo thực tập quản trị nhân sự tại công ty Bất Động Sản Win HomeDịch vụ Làm Luận Văn 0936885877
 
Báo cáo thực tập Văn hóa doanh nghiệp tại công ty sữa Vinamilk
Báo cáo thực tập Văn hóa doanh nghiệp tại công ty sữa VinamilkBáo cáo thực tập Văn hóa doanh nghiệp tại công ty sữa Vinamilk
Báo cáo thực tập Văn hóa doanh nghiệp tại công ty sữa VinamilkDịch vụ Làm Luận Văn 0936885877
 
Luận văn thạc sĩ Giá trị đạo lý trong sáng tác của Nguyễn Đình Chiểu với đời ...
Luận văn thạc sĩ Giá trị đạo lý trong sáng tác của Nguyễn Đình Chiểu với đời ...Luận văn thạc sĩ Giá trị đạo lý trong sáng tác của Nguyễn Đình Chiểu với đời ...
Luận văn thạc sĩ Giá trị đạo lý trong sáng tác của Nguyễn Đình Chiểu với đời ...Dịch vụ Làm Luận Văn 0936885877
 
Luận văn văn hóa học ảnh hưởng của truyền thông đối với việc chọn nghề của họ...
Luận văn văn hóa học ảnh hưởng của truyền thông đối với việc chọn nghề của họ...Luận văn văn hóa học ảnh hưởng của truyền thông đối với việc chọn nghề của họ...
Luận văn văn hóa học ảnh hưởng của truyền thông đối với việc chọn nghề của họ...Dịch vụ Làm Luận Văn 0936885877
 
Luận văn thạc sĩ văn hóa học Di sản khảo cổ học trong bối cảnh Đương Đại
Luận văn thạc sĩ văn hóa học Di sản khảo cổ học trong bối cảnh Đương ĐạiLuận văn thạc sĩ văn hóa học Di sản khảo cổ học trong bối cảnh Đương Đại
Luận văn thạc sĩ văn hóa học Di sản khảo cổ học trong bối cảnh Đương ĐạiDịch vụ Làm Luận Văn 0936885877
 
Luận văn thạc sĩ ứng dụng thương mại điện tử trong bán lẻ Việt Nam
Luận văn thạc sĩ ứng dụng thương mại điện tử trong bán lẻ Việt NamLuận văn thạc sĩ ứng dụng thương mại điện tử trong bán lẻ Việt Nam
Luận văn thạc sĩ ứng dụng thương mại điện tử trong bán lẻ Việt NamDịch vụ Làm Luận Văn 0936885877
 
Luận văn thạc sĩ thương mại điện tử ý định mua sách trực tuyến
Luận văn thạc sĩ thương mại điện tử ý định mua sách trực tuyếnLuận văn thạc sĩ thương mại điện tử ý định mua sách trực tuyến
Luận văn thạc sĩ thương mại điện tử ý định mua sách trực tuyếnDịch vụ Làm Luận Văn 0936885877
 
Luận văn thạc sĩ chính trị học giáo dục Lý Luận Chính Trị Cho Cán Bộ Cấp Cơ Sở
Luận văn thạc sĩ chính trị học giáo dục Lý Luận Chính Trị Cho Cán Bộ Cấp Cơ SởLuận văn thạc sĩ chính trị học giáo dục Lý Luận Chính Trị Cho Cán Bộ Cấp Cơ Sở
Luận văn thạc sĩ chính trị học giáo dục Lý Luận Chính Trị Cho Cán Bộ Cấp Cơ SởDịch vụ Làm Luận Văn 0936885877
 
Luận văn Phát triển nông thôn Trong Xây Dựng Nông Thôn Mới
Luận văn Phát triển nông thôn Trong Xây Dựng Nông Thôn MớiLuận văn Phát triển nông thôn Trong Xây Dựng Nông Thôn Mới
Luận văn Phát triển nông thôn Trong Xây Dựng Nông Thôn MớiDịch vụ Làm Luận Văn 0936885877
 
Luận văn thạc sĩ ngành xã hội học về người có uy tín trên báo
Luận văn thạc sĩ ngành xã hội học về người có uy tín trên báoLuận văn thạc sĩ ngành xã hội học về người có uy tín trên báo
Luận văn thạc sĩ ngành xã hội học về người có uy tín trên báoDịch vụ Làm Luận Văn 0936885877
 
Luận văn thạc sĩ xã hội học Giao tiếp trong gia đình đô thị
Luận văn thạc sĩ xã hội học Giao tiếp trong gia đình đô thịLuận văn thạc sĩ xã hội học Giao tiếp trong gia đình đô thị
Luận văn thạc sĩ xã hội học Giao tiếp trong gia đình đô thịDịch vụ Làm Luận Văn 0936885877
 
Tiểu luận Thiết lập và thẩm định dự án đầu tư_ Dự án đầu tư cửa hàng bánh ngọt
Tiểu luận Thiết lập và thẩm định dự án đầu tư_ Dự án đầu tư cửa hàng bánh ngọtTiểu luận Thiết lập và thẩm định dự án đầu tư_ Dự án đầu tư cửa hàng bánh ngọt
Tiểu luận Thiết lập và thẩm định dự án đầu tư_ Dự án đầu tư cửa hàng bánh ngọtDịch vụ Làm Luận Văn 0936885877
 
Tiểu luận thẩm định dự án đầu tư trung tâm kỹ năng Anoz5
Tiểu luận thẩm định dự án đầu tư trung tâm kỹ năng Anoz5Tiểu luận thẩm định dự án đầu tư trung tâm kỹ năng Anoz5
Tiểu luận thẩm định dự án đầu tư trung tâm kỹ năng Anoz5Dịch vụ Làm Luận Văn 0936885877
 
Tiểu luận thẩm định dự án đầu tư quán ăn vặt Fastfood
Tiểu luận thẩm định dự án đầu tư quán ăn vặt FastfoodTiểu luận thẩm định dự án đầu tư quán ăn vặt Fastfood
Tiểu luận thẩm định dự án đầu tư quán ăn vặt FastfoodDịch vụ Làm Luận Văn 0936885877
 
Tiểu luận thẩm định dự án đầu tư cửa hàng thức ăn nhanh
Tiểu luận thẩm định dự án đầu tư cửa hàng thức ăn nhanhTiểu luận thẩm định dự án đầu tư cửa hàng thức ăn nhanh
Tiểu luận thẩm định dự án đầu tư cửa hàng thức ăn nhanhDịch vụ Làm Luận Văn 0936885877
 
Tiểu luận biểu hiện văn hóa doanh nghiệp của Tập Đoàn FPT
Tiểu luận biểu hiện văn hóa doanh nghiệp của Tập Đoàn FPTTiểu luận biểu hiện văn hóa doanh nghiệp của Tập Đoàn FPT
Tiểu luận biểu hiện văn hóa doanh nghiệp của Tập Đoàn FPTDịch vụ Làm Luận Văn 0936885877
 

Plus de Dịch vụ Làm Luận Văn 0936885877 (20)

Báo cáo thực tập quản trị nhân sự tại công ty Bất Động Sản Win Home
Báo cáo thực tập quản trị nhân sự tại công ty Bất Động Sản Win HomeBáo cáo thực tập quản trị nhân sự tại công ty Bất Động Sản Win Home
Báo cáo thực tập quản trị nhân sự tại công ty Bất Động Sản Win Home
 
Báo cáo thực tập Văn hóa doanh nghiệp tại công ty sữa Vinamilk
Báo cáo thực tập Văn hóa doanh nghiệp tại công ty sữa VinamilkBáo cáo thực tập Văn hóa doanh nghiệp tại công ty sữa Vinamilk
Báo cáo thực tập Văn hóa doanh nghiệp tại công ty sữa Vinamilk
 
Luận văn thạc sĩ Giá trị đạo lý trong sáng tác của Nguyễn Đình Chiểu với đời ...
Luận văn thạc sĩ Giá trị đạo lý trong sáng tác của Nguyễn Đình Chiểu với đời ...Luận văn thạc sĩ Giá trị đạo lý trong sáng tác của Nguyễn Đình Chiểu với đời ...
Luận văn thạc sĩ Giá trị đạo lý trong sáng tác của Nguyễn Đình Chiểu với đời ...
 
Luận văn văn hóa học ảnh hưởng của truyền thông đối với việc chọn nghề của họ...
Luận văn văn hóa học ảnh hưởng của truyền thông đối với việc chọn nghề của họ...Luận văn văn hóa học ảnh hưởng của truyền thông đối với việc chọn nghề của họ...
Luận văn văn hóa học ảnh hưởng của truyền thông đối với việc chọn nghề của họ...
 
Luận văn thạc sĩ văn hóa học Di sản khảo cổ học trong bối cảnh Đương Đại
Luận văn thạc sĩ văn hóa học Di sản khảo cổ học trong bối cảnh Đương ĐạiLuận văn thạc sĩ văn hóa học Di sản khảo cổ học trong bối cảnh Đương Đại
Luận văn thạc sĩ văn hóa học Di sản khảo cổ học trong bối cảnh Đương Đại
 
Luận văn thạc sĩ văn hóa học về chợ quê truyền thống
Luận văn thạc sĩ văn hóa học về chợ quê truyền thốngLuận văn thạc sĩ văn hóa học về chợ quê truyền thống
Luận văn thạc sĩ văn hóa học về chợ quê truyền thống
 
Luận văn thạc sĩ ứng dụng thương mại điện tử trong bán lẻ Việt Nam
Luận văn thạc sĩ ứng dụng thương mại điện tử trong bán lẻ Việt NamLuận văn thạc sĩ ứng dụng thương mại điện tử trong bán lẻ Việt Nam
Luận văn thạc sĩ ứng dụng thương mại điện tử trong bán lẻ Việt Nam
 
Luận văn thạc sĩ thương mại điện tử ý định mua sách trực tuyến
Luận văn thạc sĩ thương mại điện tử ý định mua sách trực tuyếnLuận văn thạc sĩ thương mại điện tử ý định mua sách trực tuyến
Luận văn thạc sĩ thương mại điện tử ý định mua sách trực tuyến
 
Luận văn thạc sĩ chính trị học giáo dục Lý Luận Chính Trị Cho Cán Bộ Cấp Cơ Sở
Luận văn thạc sĩ chính trị học giáo dục Lý Luận Chính Trị Cho Cán Bộ Cấp Cơ SởLuận văn thạc sĩ chính trị học giáo dục Lý Luận Chính Trị Cho Cán Bộ Cấp Cơ Sở
Luận văn thạc sĩ chính trị học giáo dục Lý Luận Chính Trị Cho Cán Bộ Cấp Cơ Sở
 
Luận văn Phát triển nông thôn Trong Xây Dựng Nông Thôn Mới
Luận văn Phát triển nông thôn Trong Xây Dựng Nông Thôn MớiLuận văn Phát triển nông thôn Trong Xây Dựng Nông Thôn Mới
Luận văn Phát triển nông thôn Trong Xây Dựng Nông Thôn Mới
 
Luận văn thạc sĩ phát triển nông thôn Kinh Tế Trang Trại
Luận văn thạc sĩ phát triển nông thôn Kinh Tế Trang TrạiLuận văn thạc sĩ phát triển nông thôn Kinh Tế Trang Trại
Luận văn thạc sĩ phát triển nông thôn Kinh Tế Trang Trại
 
Luận văn thạc sĩ ngành xã hội học về người có uy tín trên báo
Luận văn thạc sĩ ngành xã hội học về người có uy tín trên báoLuận văn thạc sĩ ngành xã hội học về người có uy tín trên báo
Luận văn thạc sĩ ngành xã hội học về người có uy tín trên báo
 
Luận văn thạc sĩ xã hội học Giao tiếp trong gia đình đô thị
Luận văn thạc sĩ xã hội học Giao tiếp trong gia đình đô thịLuận văn thạc sĩ xã hội học Giao tiếp trong gia đình đô thị
Luận văn thạc sĩ xã hội học Giao tiếp trong gia đình đô thị
 
Tiểu luận Thiết lập và thẩm định dự án đầu tư_ Dự án đầu tư cửa hàng bánh ngọt
Tiểu luận Thiết lập và thẩm định dự án đầu tư_ Dự án đầu tư cửa hàng bánh ngọtTiểu luận Thiết lập và thẩm định dự án đầu tư_ Dự án đầu tư cửa hàng bánh ngọt
Tiểu luận Thiết lập và thẩm định dự án đầu tư_ Dự án đầu tư cửa hàng bánh ngọt
 
Tiểu luận thẩm định dự án đầu tư trung tâm kỹ năng Anoz5
Tiểu luận thẩm định dự án đầu tư trung tâm kỹ năng Anoz5Tiểu luận thẩm định dự án đầu tư trung tâm kỹ năng Anoz5
Tiểu luận thẩm định dự án đầu tư trung tâm kỹ năng Anoz5
 
Tiểu luận thẩm định dự án đầu tư quán cafe
Tiểu luận thẩm định dự án đầu tư quán cafeTiểu luận thẩm định dự án đầu tư quán cafe
Tiểu luận thẩm định dự án đầu tư quán cafe
 
Tiểu luận thẩm định dự án đầu tư quán ăn vặt Fastfood
Tiểu luận thẩm định dự án đầu tư quán ăn vặt FastfoodTiểu luận thẩm định dự án đầu tư quán ăn vặt Fastfood
Tiểu luận thẩm định dự án đầu tư quán ăn vặt Fastfood
 
Tiểu luận thẩm định dự án đầu tư cửa hàng thức ăn nhanh
Tiểu luận thẩm định dự án đầu tư cửa hàng thức ăn nhanhTiểu luận thẩm định dự án đầu tư cửa hàng thức ăn nhanh
Tiểu luận thẩm định dự án đầu tư cửa hàng thức ăn nhanh
 
Tiểu luận văn hóa doanh nghiệp của Tập Đoàn TH
Tiểu luận văn hóa doanh nghiệp của Tập Đoàn THTiểu luận văn hóa doanh nghiệp của Tập Đoàn TH
Tiểu luận văn hóa doanh nghiệp của Tập Đoàn TH
 
Tiểu luận biểu hiện văn hóa doanh nghiệp của Tập Đoàn FPT
Tiểu luận biểu hiện văn hóa doanh nghiệp của Tập Đoàn FPTTiểu luận biểu hiện văn hóa doanh nghiệp của Tập Đoàn FPT
Tiểu luận biểu hiện văn hóa doanh nghiệp của Tập Đoàn FPT
 

Dernier

TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...Nguyen Thanh Tu Collection
 
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoiC6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoidnghia2002
 
các nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ emcác nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ emTrangNhung96
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...Nguyen Thanh Tu Collection
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...ChuThNgnFEFPLHN
 
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdfxemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdfXem Số Mệnh
 
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfSLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfhoangtuansinh1
 
Đề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
Đề thi tin học HK2 lớp 3 Chân Trời Sáng TạoĐề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
Đề thi tin học HK2 lớp 3 Chân Trời Sáng Tạowindcances
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...hoangtuansinh1
 
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docxasdnguyendinhdang
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfNguyen Thanh Tu Collection
 
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxBài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxDungxPeach
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Bài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiệnBài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiệnpmtiendhti14a5hn
 
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...Nguyen Thanh Tu Collection
 
Kiến thức cơ bản về tư duy số - VTC Net Viet
Kiến thức cơ bản về tư duy số - VTC Net VietKiến thức cơ bản về tư duy số - VTC Net Viet
Kiến thức cơ bản về tư duy số - VTC Net VietNguyễn Quang Huy
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngYhoccongdong.com
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phươnghazzthuan
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdfltbdieu
 
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...Nguyen Thanh Tu Collection
 

Dernier (20)

TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
 
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoiC6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
 
các nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ emcác nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ em
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
 
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdfxemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
 
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfSLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
 
Đề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
Đề thi tin học HK2 lớp 3 Chân Trời Sáng TạoĐề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
Đề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
 
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
 
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxBài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Bài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiệnBài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiện
 
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
 
Kiến thức cơ bản về tư duy số - VTC Net Viet
Kiến thức cơ bản về tư duy số - VTC Net VietKiến thức cơ bản về tư duy số - VTC Net Viet
Kiến thức cơ bản về tư duy số - VTC Net Viet
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phương
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
 
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
 

Báo cáo thực tập công nghệ thông tin, 9đ

  • 1. TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN ~~~~~~*~~~~~~ BÁ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 Tải bài mẫu qua zalo 0936.885.877 Tham khảo dịch vụ làm báo cáo thực tập luanvantrithuc.com NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN Giáo viên hướng dẫn : Lê Văn Quốc Anh Sinh viên thực hiện : Bùi Thiện Nhân MSSV: 1651120111 : Nguyễn Đức Hiếu MSSV: 1651120088 TP. HỒ CHÍ MINH – Năm 2020
  • 2. 2 LỜI CAM ĐOAN Chúng em bằng những sự cố gắng và nỗ lực tìm hiểu, học hỏi của bản thân mì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 Nhóm sinh viên thực hiện Bùi Thiện Nhân Nguyễn Đức Hiếu
  • 3. 3 MỤC LỤC LỜI CAM ĐOAN..............................................................................................................................................2 MỤC LỤC .........................................................................................................................................................3 DANH 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 3.6. Giá......................................................................................................................... 40 3.7. Tổng kết................................................................................................................. 42 4. Phát triển ứng dụng demo ..................................................................................................................44
  • 4. 4 4.1. Ứng dụng demo đánh dấu các địa điểm ................................................................ 44 4.1.1. Đăng ký API Key............................................................................................... 44 4.1.2. Load bản đồ ....................................................................................................... 44 4.1.3. Markers.............................................................................................................. 45 4.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
  • 5. 5 DANH MỤC HÌNH Hình 1 Mô tả địa chỉ US ................................................................................................ 10 Hình 2 Google Map - Key Google Maps API ............................................................... 15 Hì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
  • 6. 6 DANH MỤC BẢNG Bả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 TT Viết tắt Diễn giải Giải thích 1 GCL Google Cloud Platform Nền tảng đám mây GG 2 POI Points of interest Một vị trí điểm cụ thể mà ai đó có thể thấy hữu ích hoặc thú vị 3 LON Longtitude Kinh độ 4 LAT Lattitude Vĩ đọ 5 MGRS Military Grid Reference System Hệ thống tham chiếu lưới quân sự 6 USNG United States National Grid Lưới quốc gia Hoa Kỳ 7 USPS United States Postal Service Dịch vụ Bưu chính Hoa Kỳ 8 WGS World Geodetic System Hệ thống trắc địa thế giới 9 SLA Service Level Agreement Cam kết chất lượng dịch vụ Bảng 1 Bảng ký hiệu viết tắt
  • 7. 7 1. Giới thiệu 1.1. Đặt vấn đề 1.1.1. Tính cấp thiết Ngà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. 1.1.4. Ý nghĩa khoa học của đề tài Đề tài góp phần vào việc phát triển và mở rộng các ứng dụng kết hợp với các dịch vụ geocoding đang có trên thế giới.
  • 8. 8 Đề tài là nền tảng trong việc nghiên cứu và ứng dụng dịch vụ geocoding trên bản đồ. 1.1.5. Ý nghĩa thực tiễn của đề tài - 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ể.
  • 9. 9 2. Công nghệ liên quan 2.1. Tìm hiểu về geocoding Geocoding là quá trình chuyển đổi 1 mô tả của 1 vị trí chẳng hạn như cặp địa chỉ 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. 2.1.2. Địa chỉ là gì? Để đại diện cho tọa độ đó chúng ta gọi là địa chỉ. Địa chỉ đơn giản là cách thức được sử dụng để mô tả vị trí. Cho mục đích geocoding nó có thể là tên đường, tên một nơi hay vị trí.
  • 10. 10 Địa chỉ có nhiều kiểu và định dạng khác nhau bao gồm các tuyến đường, giao lộ, số nhà với tên con đường và mã bưu chính (Postal Code) tương ứng. Địa chỉ này giúp geocoding trong việc tìm kiếm, xác định chính xác đến vị trí cụ thể. Ở Việt Nam phổ biến một số định dạng địa chỉ bao gồm - 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 Hình 1 Mô tả địa chỉ US 2.1.3. Quá trình xử lý geocoding Để quá trình tìm kiếm thông tin về địa chỉ được chính xác chúng ta thực hiện theo 8 bước sau: Bước Tên bước Ví dụ 1 Nhập địa chỉ vào input 114 Năm châu, Phường 12, Quận Tân Bình, TPHCM 2 Phân tách địa chỉ 114 | Năm Châu | Phường 12 | Quận Tân Bình | TPHCM
  • 11. 11 3 Các thành phần địa chỉ Số nhà 114 Tên đường Năm Châu Phường 12 Quận Tân Bình Thành phố HCM Hồ Chí Minh 4 Tìm kiếm theo các thành phần địa chỉ 5 Tính điểm cho các thành phần Số nhà Đường Phường Điểm 114 Năm Châu 12 100 115 Năm Châu 12 85 114 Năm Châu 12 80 6 Lọc danh sách Số nhà Đường Phường Điểm 114 Năm Châu 12 100 115 Năm Châu 12 85
  • 12. 12 7 Dữ liệu phù hợp nhất 114 Năm Châu, Phường 12, Quận Tân Bình, TP.HCM 8 Xử lí và hiển thị Bảng 2 Tiến trình geocoding a) Phân tách địa chỉ Địa chỉ được nhập trong ô input sẽ được phân chia thành nhiều mức khác nhau. Như ví dụ trên sẽ được phân tách theo các dấu phẩy. Trường hợp không có các dấu phẩy ngăn cách như chỗ 114 Năm Châu có thể phân tách ra theo từng từ và cụm từ. Cách làm như thế sẽ phân tích và cho ra được nhiều trường hợp để tìm kiếm. Nhờ đó chúng ta có thể tăng cơ hội tìm kiếm địa chỉ hay tăng tỉ lệ chính xác. b) Các thành phần của địa chỉ Sau 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:
  • 13. 13 Ví 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.
  • 14. 14 2.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ý.
  • 15. 15 b) Nghiên cứu và thực hiện triển khai dịch vụ - Tìm hiểu Google Cloud 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 - Demo chạy các example Google Map 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
  • 16. 16 Hì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
  • 17. 17 Map. Hì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 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.
  • 18. 18 2.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ợ  Chrome
  • 19. 19  Firefox  Safari 5+  IE 10–11  Microsoft Edge  IOS  Android e) Nghiên cứu và thực hiện triển khai dịch vụ Tìm hiểu - Map Quest là phần mềm mã nguồn mở cho phép chúng ta sử dụng các API của nó. - 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) - Để sử dụng các API chúng ta cần có tài khoản của https://developer.mapquest/com. Sau đó tạo Key Mapquest API. Hình 7 MapQuest - Key MapQuest API Demo MapQuest  Khi sử dụng API của MapQuest được tích hợp ô search địa chỉ.
  • 20. 20  Ví dụ: test code trên môi trường localhost Hình 8 Mapquest - Demo  Tương tự Google Map 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 9 Mapquest - Tọa độ bắt đầu
  • 21. 21 Hình 9: Search MapQuest
  • 22. 22 2.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 cách sử dụng nền tảng vị trí số 1 thế giới. b) Dịch vụ  Here chiếm vị trí hàng đầu chỉ số nền tảng vị trí, duy trì vị trí dẫn đầu so với Google trong năm thứ hai hoạt động.  Here mang lại tính tương tác và tùy chỉnh nhanh chóng trong quá trình phát triển ứng dụng, với Here map làm nền tảng. Khám phá cơ sở dữ liệu đang phát triển gồm 58 triệu đường được ánh xạ và 5 triệu thay đổi bản đồ mỗi ngày.  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
  • 23. 23  Android  Edge 17+  Firefox (latest)  Google Chrome (latest) 3. So sánh đánh giá Chúng ta tiến hành so sánh khách quan dựa trên những tìm hiểu và các tiêu chí sau:  Đô chính xác (Accuracy)  Độ tin cậy (Reliability)  Tốc độ (Speed)  Tính hợp lệ (Validation)  Tài liệu và hỗ trợ (Tech Support and Documentation)  Giá (Price) 3.1. Độ chính xác 3.2.1. Tìm hiểu về độ chính xác Độ chính xác là yếu tố quan trọng trong geocoding. Các số liệu đầu tiên và rõ ràng nhất mà dịch vụ geocoding có thể được đánh giá đó chính là độ chính xác. Để 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.
  • 24. 24 Hì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ừ 220. 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ừ 220 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
  • 25. 25 3.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:
  • 26. 26 Hì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 NnOrem Ut" }, "locations": [ { "street": "1103 W 1130 N",
  • 27. 27 "adminArea6": "", "adminArea6Type": "Neighborhood", "adminArea5": "Orem", "adminArea5Type": "City", "adminArea4": "Utah", "adminArea4Type": "County", "adminArea3": "UT", "adminArea3Type": "State", "adminArea1": "US", "adminArea1Type": "Country", "postalCode": "84057-2887", "geocodeQualityCode": "P1AAA", "geocodeQuality": "POINT", "dragPoint": false, "sideOfStreet": "R", "linkId": "r42782820|p70232023|n58151105", "unknownInput": "", "type": "s", "latLng": { "lat": 40.317866, "lng": -111.722361 }, "displayLatLng": { "lat": 40.317667, "lng": -111.722376 } } ] }, - Lấy kết quả tọa độ displayLatLng trả về c) Đo sự chính xác của Here. Dùng Postman để tiến hành gửi dữ liệu đến server. Để dùng được API của Here chúng ta cần phải có OAuth 2.0 Token Credentials cho những request đến dịch vụ này.  Vì vậy chúng ta cần tiến hành tạo bearer access tokens và gửi request đến dịch vụ geocoding Here. Cách thực hiện: 1. Tạo mới một tab request trên Postman, điền URL của API và đổi thành method POST.
  • 28. 28 Hình 14 Here – Tiến hành tạo Bearer Key 2. Chọn tab Authorization. Hình 15 Here - Lấy Access_Token
  • 29. 29 Bước 1: Type  Oauth 1.0 Bước 2: Add authorization data to  Request Headers Bước 3: Điền consumer key và consumer secret - Tạo key ở phần Oauth 2.0 trong Project của Here Hình 16 Here - Tạo credentials key - Chọn create credentials để tiến hành tạo key. Hình 17 Here - Access Key ID và Access Key Secret - Sau khi nhấn create sẽ hiện ra hộp thoại thông báo bao gồm Access key ID và Access Key Secret. Chúng ta tiến hành copy Access key ID vào Consumer Key, Access Key Secret vào Consumer Secret - Lưu ý: Ở đây chúng ta có thể download 2 key này về để lưu trữ bởi vì nó sẽ chỉ xuất hiện một lần khi chúng ta tiến hành chọn create credentials. Vì vậy nếu muốn sử dụng key này lâu dài chúng ta cần download để backup. Nếu không chúng ta phải bỏ key này và lặp lại việc tạo ra key mới.
  • 30. 30 - Bước 5: Chọn signature Method: HMAC-SHA256 3. Chọn Tab Body Hình 18 Here - Kết quả Bước 2: Chọn x-www-form-urlencoded. Bước 3: Điền key: grant_type Bước 4: value: client_credenntials. Bước 5: Chọn Send. Chúng ta nhận được Access_token với type là bearer. Đây chính là bearer dùng trong API Here để lấy dữ liệu.
  • 31. 31 Hình 19 Here - Sử dụng Bearer 4. Sau khi có được bearer key tiến hành sử dụng API để get dữ liệu về. Hình 20 Here - Lấy dữ liệu Tạo request mới (1)
  • 32. 32 Chọn phương thức GET và Url mà Here cung cấp API. (2)(3) Chọn Type: Bearer Token và nhập token chúng ta vừa lấy được lúc nãy. (4)(5) Chọn Send. (6) Nếu thành công kết quả sẽ hiển thị trong vùng số (7) Cuối cùng chúng ta lấy được kết quả là danh sách các giá trị của items. - resultType: trả về loại kết quả tìm kiếm (houseNumber, place, locality, street…) - title: chuỗi kí tự đại diện cho kết quả tìm được. Bao gồm là chuỗi địa chỉ địa đủ. - Address: chi tiết kết quả của địa chỉ. - Position: kết quả vị trí địa lý theo chuẩn WGS 84. Đây là tọa độ được dùng để hiển thị trên bản đồ. Đây cũng chính là kết quả chúng ta lấy để so sánh. Chúng ta bắt đầu tiến hành so sánh với một số địa chỉ ở US: Địa chỉ Google Maps API Here MapQuest 1224 south 760 utah west provo Tìm thấy Lat 40.21721 40.21723 40.217199 Lon -111.672364 -111.67231 -111.672371 1402 West Orem Ut Center St Lat 40.2959900 40.29742 40.297421 Lon -111.7298850 -111.72853 -111.728536 727 N Orem Ut 1550 E Ste 410 Lat 40.2975409 40.31105 40.310747 Lon -111.7285345 -111.65879 -111.659169 1103 Orem Ut W 1130 N , Lat 40.3178831 40.31766 40.317667
  • 33. 33 Lon -111.7220364 -111.72237 -111.722376 765 Academy Dr Bessemer AL Lat 33.3628028 33.36277 33.362573 Lon -86.9981227 -86.99805 -86.998556 2665 S Alma School Rd Mesa AZ Lat 33.3662019 33.36611 33.36622 Lon 111.8586236 -111.85847 -111.858635 105 W Main St Brawley CA Lat 32.9788879 32.97902 32.978922 Lon -115.5422487 -115.54207 -115.542278 1994 Silas Deane Hwy Rocky Hill CT Lat 41.673516 41.67298 41.673572 Lon -72.6458055 -72.64572 -72.645755 9900 Fm 1079 Cross Plains TX Không tìm thấy Lat 32.2062 32.20619 Lon -99.20664 -99.206636 15615 Coyote Falls Rd Entiat WA Lat 47.8573292 47.85733 47.857942 Lon -120.4238349 -120.42412 -120.416387 12347 SW 110th South Canal St Rd Miami, FL Lat 25.6655372 25.66536 25.665547
  • 34. 34 Lon -80.3962432 -80.39592 -80.396256 Bảng 3 So Sánh Độ Chính Xác Một Số Địa chỉ ở US Chúng ta bắt đầu tiến hành so sánh với một số địa chỉ ở các nước trên thế giới: Địa chỉ Google Maps API Here MapQuest Hauptstraße 16 68799 Reilingen, Germany Tìm thấy Lat 49.2949648 49.29492 49.29491 Lon 8.5765402 8.57654 8.57654 Av. Ricardo Lyon 22 Santiago, Chile Lat -33.4220651 -33.42195 -33.42215 Lon -70.6095319 -70.60971 -70.6093 Industriestrasse 1 9495 Triesen, Liechtenstein Lat 47.1193578 47.11936 47.11936 Lon 9.5234901 9.52349 9.52348 1 Bramlin St, Port Elizabeth, 6015, South Africa Tìm sai địa chỉ Lat -33.94177 -33.94264 Lon 25.51116 25.51195 〒904-2142 沖縄県沖縄市登川 1丁目9−15 Không tìm thấy
  • 35. 35 Lat 26.3697122 33.362573 Lon 127.8197812 -86.998556 91 Dunkeld Rd, Perth, PH1 5AP, United Kingdom Lat 56.4066669 56.40657 56.40743 Lon -3.4463073 -3.44623 -3.44818 24/28 Little Collins St Melbourne VIC 3000, Australia Lat -37.8125002 -37.81249 -37.81254 Lon 144.9725691 144.97256 144.97264 Prospekt Gagarina, 105, Nizhnij Novgorod, Nizhegorodskaya oblast', Nga, 603137 Lat 56.2343831 56.23443 56.26996 Lon 43.951704 43.95071 43.9716 Bảng 4 So Sánh Độ Chính Xác Trên Nhiều Nơi 3.2.3. Tổng kết so sánh Cả 3 dịch vụ trên đều có những kết quả tìm thấy tương đối chính xác. Trong đó Google Map có nhiều kết quả tọa độ đến những con số phần trăm nghìn, phần triệu. Còn Here, MapQuest đa số lấy kết quả tọa độ đến phần chục nghìn. Google Map hỗ trợ việc tìm kiếm ở nhiều nơi, nhiều ngôn ngữ. Here hỗ trợ chủ yếu ở Châu Âu, Châu Mỹ còn Châu Á thì dữ liệu của Here ít. Mapquest thì cho thấy dữ liệu đa dạng, kết quả nhiều nơi được tìm thấy với nhiều ngôn ngữ. Tuy nhiên Mapquest đặc biệt nổi bật với các kết quả tìm kiếm đến từ Châu Mỹ. Ngoài ra, Google Map có lợi thế dễ báo cáo để chỉnh sửa vì thế những địa chỉ thường xuyên được xác thực hơn ở nhiều nước trên thế giới do đây là dịch vụ mà
  • 36. 36 được nhiều người sử dụng nhất trên thế giới. Có tới 25 triệu lượt cập nhật hằng ngày và 1 tỉ người dùng active hàng tháng.
  • 37. 37 3.2. Độ tin cậy Thời gian hoạt động là thước đo độ tin cậy của hệ thống, được biểu thị bằng phần trăm thời gian của một máy, điển hình là máy tính đang hoạt động và khả dụng. Uptime cũng là một số liệu để đo lường thời gian hoạt động và kéo dài của một hệ thống. Đây cũng chính là cách mà chúng ta cho rằng liệu hệ thống hay dịch vụ luôn luôn hoạt động khi chúng ta cần. Trong dịch vụ geocoding ở đây chúng ta nói đến thời gian hoạt động của từng dịch vụ. Ngược lại đó là thời gian ngừng hoạt động của hệ thống gọi là downtime [1]. Availability % Downtime / year Downtime / month Downtime / week 99% 3.65 ngày 7.20 giờ 1.68 giờ 99.9% 8.76 giờ 43.2 phút 10.1 phút 99.99% 52.6 phút 4.32 phút 1.01 phút 99.999% 5.26 phút 25.9 giây 6.05 giây 99.9999% 31.5 giây 2.59 giây 0.605 giây Bảng 5 Downtime Kết quả sau khi tìm hiểu và so sánh theo tiêu chí SLA: - Google Maps API: 99.9% theo hằng tháng cho mỗi dịch vụ cụ thể  Directions API  Distance Matrix API  Elevation API  Geocoding API  Geolocation API  Maps JavaScript API  Maps SDK for Android  Maps SDK for iOS  Maps Static API  Places API
  • 38. 38  Places SDK for Android  Places SDK for iOS  Roads API  Street View Static API  Time Zone API - Mapquest: Không có con số Uptime cụ thể.  Hoạt động 24/7 nghĩa là 24 giờ mỗi ngày, 7 ngày mỗi tuần chưa bao gồm các hoạt động bảo trì, lịch trình thời gian downtime và một số khoảng thời gian không dự đoán trược được. - Here: 99.9% hằng tháng cho các API sau:  Maps  Routing  Geocoding  Traffic  Positioning  Weather  Fleet Telematics  Search  Transit  HERE SDK (server components)  Cả 3 dịch vụ đều cam kết về độ tin cậy hệ thống cao. Tuy nhiên Mapquest thì lại không có con số Uptime cụ thể vì vậy sẽ vẫn có rủi ro khi hệ thông bị trục trặc hay bị tấn công thường xuyên. 3.3. Tốc độ [2] Phương pháp so sánh tốc độ này được thực hiện để so sánh giữa Google Map, Bing, Mapquest. Nhưng phần này chúng ta chỉ tìm hiểu Google Map và MapQuest. Here thì chưa có số liệu test. Để thực hiện chúng ta sẽ có một bộ dữ liệu bao gồm 670 địa chỉ đầy đủ và chỉ là địa chỉ ở US. Những địa chỉ này sẽ được chuyển đổi thành dạng URL theo tiêu chuẩn của từng dịch vụ. Ví dụ:  GoogleMap https://maps.googleapis.com/maps/api/geocode/json?address=ENCODED_AD DRESS  MapQuest https://www.mapquestapi.com/geocoding/v1/address?key=API_KEY&location =ENCODED_ADDRESS
  • 39. 39 Lưu trữ những URL theo định dạng trên thành 2 file chứa các URL của Google Map và Mapquest. Mỗi URL này được lưu trên 1 dòng khác nhau. Sau đó sử dụng thư viện Python, chia tập URL này thành những nhóm có kích thước bằng nhau 10, 30, 67, 100. Tiến hành chạy gửi request những nhóm này cho đến khi hoàn thành và làm nhiều lần với từng nhóm để có nhiều kết quả sau đó lấy giá trị trung bình làm kết quả cho từng nhóm. Group size Google Map Mapquest 100 14.626393 13.215507 67 12.980358 14.202346 30 13.332298 17.450716 10 26.12703 37.086448 Bảng 6 Kết quả so sánh tốc độ Qua kết quả trên cho thấy thời gian dịch vụ Google Map geocoding rất nhanh tuy nhiên khi kích cỡ nhóm thử nghiệm lớn thì Mapquest lại cho kết quả tối ưu hơn. Tỉ lệ lỗi: Tỉ lệ xảy ra lỗi qua các lần test là rất nhỏ mặc dù gửi 100 request cùng một lúc những các máy chủ dịch vụ vẫn hoạt động khá tốt. 3.4. Tính thẩm định Tính thẩm định ở đây nói đến là thẩm định địa chỉ hay xác thực một địa chỉ. Địa chỉ được xác thực nghĩa là địa chỉ này được so sánh với địa chỉ trong một cơ sở dữ liệu có thẩm quyền chẳng hạn như cơ sở dữ liệu bưu điện Việt Nam hay USPS. Nếu địa chỉ đó khớp với địa chỉ có trên hệ thống thì địa chỉ được xác nhận đó là địa chỉ thực. Từ đó, dữ liệu thì càng chính xác, được xác nhận và các địa chỉ sai hay địa chỉ ảo sẽ không có trong cơ sở dữ liệu. Việc xác thực địa chỉ là một thử thách khó bởi vì không có quy định hay định nghĩa nào để xác thực được địa chỉ. Và vì vậy các hệ thống dịch vụ đều được xây dựng để xử lí việc này. Các bước để có được địa chỉ xác thực: - Chuyển đổi, phân tách địa chỉ theo tiêu chuẩn riêng như phần quá trình xử lý geocoding - Sau khi địa chỉ được format, nó sẽ được xác thực bởi việc tìm kiếm sự giống nhau trong cơ sở dữ liệu chính thức. Nếu khớp thì xác thực và ngược lại. Một vài nguyên nhân dẫn đến địa chỉ không được xác thực:
  • 40. 40 - Địa chỉ ảo: đây là địa chỉ giả, đã từng tồn tại hoặc không tồn tại. Ví dụ: một căn nhà đã bị gõ bỏ trong 3 tháng nhưng địa chỉ vẫn đang được sử dụng. - Địa chỉ chưa được đăng kí: Các căn nhà mới xây chưa được đăng ký hay chưa cập nhật vào cơ sở dữ liệu của hệ thống thì nó chưa được xác thực.  Việc xác thực địa chỉ là thực sự khó khăn. Và để thực hiện được điều này chúng ta phải tham chiếu, sử dụng đến dữ liệu, hồ sơ của cơ sở bưu chính chính thức. Google Maps, Here, Mapquest chưa có tài liệu nào phân tích về tính thẩm định này. 3.5. Tài liệu và hỗ trợ Google Maps API: Tài liệu đầy đủ chi tiết, có nhiều nguồn tài liệu giúp đỡ khi tìm hiểu về google map chẳng hạn như: Stack OverFlow, Youtube, Github. Tài liệu hỗ trợ nhiều thứ tiếng. Chỉ hỗ trợ người dùng trả phí khi sử dụng dịch vụ. MapQuest: Tài liệu hạn chế hơn, hỗ trợ qua forum https://developer.mapquest.com/forum và report. Tuy nhiên forum lại khá hạn chế khi không có thanh công cụ search mà thay vào đó chỉ có pagination. Developer Here: Tài liệu trực quan đầy đủ nhưng ít tài liệu mở rộng hay trao đổi của người dùng. Hỗ trợ công nghệ cho người dùng sử dụng miễn phí qua tài liệu Stack OverFlow và người dùng trả phí qua cổng hỗ trợ khách hàng riêng. 3.6. Giá Google Maps API: phụ thuộc vào việc mình sử dụng. “Pay as you go” xài bao nhiêu thì phí dịch vụ tương ứng với tài liệu sử dụng. Việc trả phí cho những requests của Geocoding API và Maps Javascript Api’s Geocoding Service. Tuy nhiên chúng ta sẽ được dùng miễn phí lên tới 200$ hàng tháng. Hình 21 Google Map - Giá dịch vụ Map
  • 41. 41 Hình 22 Google Map - Giá Geocoding, Places  Ví dụ: Theo bảng giá dịch vụ trên, khi chúng ta sử dụng dịch vụ geocoding, dynamic Maps và Find Places sẽ tính tiền ra giá trị như sau:  Dynamic Maps: Với 10,000 views một tháng: 20,000*7$/1000 = 70$  Geocoding: 100,000 yêu cầu Geocoding API: 100,000*5$/1000=500$  Find Place: 5000 yêu cầu tìm kiếm: 5000*17*/1000= 85$  Vậy trong một tháng với nhu cầu sử dụng như vậy chúng ta phải trả số tiền 70+500+85 = 655$ - 200$ = 455$. Với 200$ là số tiền mà hàng tháng chúng ta được sử dụng free. Here: Chọn theo gói giá đã được đặt sẵn. Với phần tài nguyên bị sử dụng vượt quá phạm vi gói sẽ thêm số tiền tương ứng.  Ví dụ: Ở gói freemium (miễn phí), sau khi dùng hết 250k transactions/ 1 tháng sẽ tính thêm giá. Khi sử dụng thêm dữ liệu tương ứng 100MB/1$, 1000 transactions/1$ và băng thông dữ liệu tương ứng 5GB/3$  Ở gói add-on, sau khi dùng hết 250k transactions/ 1 tháng sẽ tính thêm giá. Khi sử dụng thêm dữ liệu tương ứng 100MB/45$,1000 transactions/1$ và băng thông dữ liệu tương ứng 5GB/3$. Tuy nhiên giá gói cước này là 45$/tháng.  Ở gói pro, sau khi dùng hết 1,000,000 transactions/ 1 tháng sẽ tính thêm giá. Khi sử dụng thêm dữ liệu tương ứng 1000 transactions/1$. Tuy nhiên giá gói cước này là 449$/tháng. Mapquest: Chia làm 2 loại cơ bản và nâng cao. Mỗi loại có nhiều gói khác từ giá trị nhỏ đến lớn phù hợp theo nhiều yêu cầu. Với lựa chọn loại nâng cao chúng ta có thể sử dụng và lưu trữ các kết quả geocoding mà không cần hiển thị trên map.  Free: 15,000transactions/month, tương tự như vậy số transactions càng nhiều thì giá tiền càng cao.  Cơ bản: Free->Basic->Plus->Business->BusinessPlus  Nâng cao: Business Enhanced -> Business Plus Enhanced
  • 42. 42 So sánh giá dựa trên việc sử dụng 100k request / tháng khi sử dụng tìm kiếm và hiển thị trên map của website: Geocoding Monthly Price (100,000 requests) Google Maps API 300$ Here 399$ Mapquest 0$ + data tranfer + storage data 3.7. Tổng kết Bảng 7 So sánh Price Trong 3 dịch vụ nhóm tìm hiểu, chúng tôi chọn ra dịch vụ Google Map để tiếp tục phát triển ứng dụng demo có sử dụng PHP, MySQL để xây dựng ứng dụng đánh dấu các địa điểm trên bản đồ. Dịch vụ Google Map được chọn vì nhiều lý do như:  Về tần suất người sử dụng trên thế giới lớn.  Lịch sử cập nhật bản đồ về địa điểm, đường đi hằng ngày.  Dễ sử dụng API key để áp dụng vào trang web đơn giản.  Độ chính xác rất cao trong nhiều kết quả tìm kiếm google maps API cho thấy hầu hết các kết quả đều được tìm thấy. Con số tọa độ được google Maps API đưa ra lên tới phần triệu – phần chục triệu.  Hỗ trợ nhiều ngôn ngữ trong tìm kiếm.  Tài liệu có thể nói nhiều và đầy đủ nhất trong 3 dịch vụ mà nhóm tìm hiểu. Nguồn tài liệu lớn trong đó có hỗ trợ nhiều phiên bản về ngôn ngữ đặc biệt trong đó có phiên bản tiếng việt.  Các cam kết về thời gian làm việc – uptime rõ ràng rành mạch.  Tốc độ geocoding cũng khá nhanh tuy thua mapquest khi số lượng request nhiều nhưng khá ổn định.  Ngoài nguồn tài liệu trực tiếp trên website. Google Map còn nhiều tài liệu được viết do các nhà phát triển nghiên cứu và biên soạn.  Bên cạnh đó, các trang web nổi tiếng trong lập trình như Stack OverFlow cũng có rất nhiều thảo luận hay câu hỏi về cách sử dụng của Google Map.  Việc sử dụng google maps API để tích hợp hiển thị đơn giản map trên website khá dễ sử dụng.
  • 43. 43  Về giá khi sử dụng tài nguyên Google Map, được công bố rõ ràng chia ra thành nhiều hạng mục lớn, hạng mục nhỏ. Người sử dụng dịch vụ tham khảo giá rõ ràng và quan sát, theo dõi được mức độ sử dụng dịch vụ của mình. Nhờ đó chúng ta có thể lập kế hoạch phân bổ nguồn lực vốn, quản lý được lượt truy cập sử dụng website của mình thông qua thông số của Google Map.  Hằng tháng được sử dụng 200$ miễn phí cho các dịch vụ mà chúng ta dùng. Nếu quá 200$ thì “pay as you go”. Sử dụng bao nhiêu thì trả bấy nhiêu tương ứng với tài nguyên mình sử dụng.  Ngoài ra còn có nhiều bài hướng sử dụng dẫn đến từ nhiều nền tảng khác nhau trang như facebook, youtube, blog…  Có thể gọi Google Map là ông tổ trong các dịch vụ geocoding. Trong quá trình tìm hiểu và so sánh. Ngoài những document, thông tin của các dịch vụ nhóm còn tìm hiểu qua các bài luận, các nghiên cứu so sánh giữa các dịch vụ. Và hiển nhiên Google Map là dịch vụ mà hầu các bài luận, nghiên cứu so sánh đều lấy Google Map ra để so sánh giống như một chuẩn chung.
  • 44. 44 4. Phát triển ứng dụng demo 4.1. Ứng dụng demo đánh dấu các địa điểm Với những kiến thức tìm hiểu về dịch vụ Google Map và một số kiến thức về PHP, MySQL, Javascript, Jquery, Ajax … để xây dựng ứng dụng demo này. Ứng dụng sẽ dùng để lưu lại các vị trí (tòa nhà, công viên …) vào cơ sở dữ liệu thông qua dịch vụ tìm kiếm địa chỉ Google Map. Sau đó lấy dữ liệu đã được lưu trong cơ sở dữ liệu ra và đánh dấu hiển thị trên bản đồ. Mục đích: Giúp chúng ta lưu trữ lại những nơi mà chúng ta lưu ý đến. Ngoài ra còn có sử dụng hiển thị chi tiết các thông tin điểm đánh dấu mà chúng ta đã lưu vào cơ sở dữ liệu. Để thực hiện được ứng dựng demo này chúng ta ứng dụng: 4.1.1. Đăng ký API Key Ứng dụng Maps API sử dụng một API key. Một key API cho chúng ta kiểm soát các ứng dụng. Chúng ta xem lại tại phần Dịch vụ Google Map. 4.1.2. Load bản đồ Khi đã có key google cung cấp ta sử dụng key đó trong đoạn mã javascripts trong cặp thẻ script với phương thức callback hàm initMap: Hình 23 Callback Google Map Script Sau đó chúng ta tiến hành tạo hàm initMap javascript: Hình 24 Hàm callBack initMap()
  • 45. 45 - Center: một điểm làm trung tâm của bản đồ Latitude (vĩ độ) và Longitude (kinh độ). - Zoom: độ zoom được quy định khi Map được load. 4.1.3. Markers Markers dùng để xác định một điểm trên bản đồ hoặc đánh dấu địa điểm dựa trên vĩ độ và kinh độ. Theo mặc định sử dụng icon của google làm hình ảnh hiện lên điểm đánh dấu. Sau đây là các trường được xây dựng trong new google.maps.Marker: - Position (bắt buộc): quy định là tọa độ LatLng của điểm được đánh dấu. - Map: quy định đối tượng bản đồ được đánh dấu. nếu thuộc tính này được khai báo trong đây nó sẽ thay thế cho Markers.setMap(map). - Icon: hình ảnh tùy chọn mà chúng ta muốn hiển thị thay thế hình ảnh mặc định. Dùng tùy chọn này thay thế cho marker.setIcon(url). - Title (tùy chọn): tiêu đề của địa điểm. - Draggable: kéo thả markers trên bản đồ. Nếu TRUE tính động được khởi động. 4.1.4. Info Windows Hình 25 Markers Infowindows là một cửa sổ chứa các thông tin. Thông tin này là tùy chọn. Chúng ta gọi Infowindows.open() để có thể mở được cửa sổ Trông như hình ảnh sau:
  • 46. 46 4.1.5. Các sự kiện Hình 26 InfoWindow Một số đối tượng trong Maps API được thiết kế để đáp ứng với sự kiện người sử dụng chẳng hạn như các sự kiện chuột hoặc bàn phím. Một đối tượng google.maps.Marker có thể lắng nghe người sử dụng các sự kiện: - click - dbClick - mousedown - mouseover - mouseout 4.1.6. Tiến hành thực hiện ứng dụng a) Cơ sở dữ liệu Bao gồm các trường để lưu trữ thông tin về địa chỉ (address), kinh độ (lat), vĩ độ (lon), ghi chú trên địa điểm (note), biểu tượng marker hiển thị đánh dấu trên map (icon).
  • 47. 47 b) Khởi tạo Map và giao diện Hình 27 Database Hình 28 Giao diện ứng dụng Sử dụng Place Autocomplete của Google Map để hiển thị bản đồ. Sau đó custom thanh tìm kiếm, tạo chế độ hiển thị markers trên map (hide/show) và tạo form để gửi thông tin về địa chỉ.
  • 48. 48 Khi nhập vào ô tìm kiếm hệ thống Google Map API sẽ tự động gợi ý về địa chỉ mà chúng ta tìm kiếm. Hình 29 AutoComplete SearchBox Chúng ta tiến hành chọn địa chỉ phù hợp với địa chỉ mà chúng ta tìm kiếm. Thông tin về địa chỉ, tọa độ sẽ được load đến form. Hình 30 Kết quả tìm kiếm Tiếp theo nếu muốn lưu lại địa chỉ này chúng ta có thể nhập vào ô ghi chú về tên mà địa điểm chúng ta muốn lưu, cùng với đó là chọn biểu tượng icon mà chúng ta muốn hiển thị trên map. Ở đây chúng ta lựa chọn ghi chú + icon như trong ảnh. Cuối cùng, nhấn submit để tiến hành lưu vào cơ sở dữ liệu đồng thời hiển thị icon đánh dấu trên bản đồ.
  • 49. 49 - Dữ liệu lưu thành công vào cơ sở dữ liệu như sau: Hình 31 Kết quả lưu dữ liệu - Hiển thị icon của biểu tượng karaoke trên bản đồ. Hình 32 Kết quả hiển thị Markers - Hiển thị các thông tin địa điểm đã lưu khi di chuyển chuột vào.
  • 50. 50 Hình 33 Kết quả hiện thị InfoWindow - Ngoài ra chúng ta có thể lự chọn hide ở trên thanh tìm kiếm để hiện thị hay ẩn markers đang có trên map: Hình 34 Kết quả Hide
  • 51. 51 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1. Kết luận Với mục tiêu nghiên cứu các dịch vụ, so sánh chọn lựa và xây dựng ứng dụng demo sử dụng 1 dịch vụ geocoding hiệu quả nhất. Đề tài đã đạt được những kết quả cụ thể sau:  Hoàn thành so sánh tổng quan giữa 3 dịch vụ geocoding: Google Map, Here, Mapquest.  Lựa chọn dịch vụ Google Map để tiến hành xây dựng demo sản phẩm.  Hoàn thành thiết kế cơ sở dữ liệu lưu trữ thông tin địa điểm.  Hoàn thành giao diện trang web.  Hoàn thành thiết kế và xây dựng các chức năng.  Ứng dụng:  Tìm kiếm thông tin địa điểm, gợi ý địa chỉ khi nhập liệu thông qua dịch vụ Google Map API.  Tùy chỉnh hiển thị hoặc ẩn các markers trên bản đồ.  Trả về thông tin địa điểm (kinh độ, vĩ độ) trên form.  Ghi chú và chọn icon cùng với thông tin địa điểm để hiển thị địa điểm trên bản đồ. Tuy nhiên, ngoài những mục tiêu đã đạt được đề tài còn tồn tại một số hạn chế:  Một số đánh giá như tốc độ còn chưa thực hiện được và sử dụng tham khảo qua các trang web, bài viết phân tích khác.  Giao diện website còn đơn giản, chưa đầy đủ, không thực sự chuyên nghiệp. 5.2. Hướng phát triển Mặc dù đề tài đã đạt được mục tiêu đề ra nhưng để đề tài hoàn thiện và có thể ứng dụng vào thực tế, đề tài cần nghiên cứu bổ sung thêm các nội dung sau:  Tiến hành nghiên cứu và phân tích các dịch vụ geocoding chi tiết hơn. Đặc biệt là phần so sánh.  Tiến hành so sánh được tốc độ trên group lớn để có được kết quả thực tế hơn.  Thiết kế giao diện chuyên nghiệp hơn.
  • 52. 52  Nghiên cứu xây dựng thêm các chức năng khác (xóa markers …), quản lý thông tin.  Xây dựng và phát triển chế độ bảo mật khi đưa lên mạng internet.
  • 53. 53 Tài liệu tham khảo [1] Hutchinson, Matthew J (2010). Developing an Agent-Based Framework for Intelligent Geocoding (PhD thesis). Curtin University. [2] Ratcliffe, Jerry H. (2001). "On the accuracy of TIGER-type geocoded address data in relation to cadastral and census areal units" (PDF). International Journal of Geographical Information Science. [3] "Spatially enabling the data: What is geocoding?". National Criminal Justice Reference Service. Retrieved 22 June 2016. [4] "On the accuracy of TIGER-type geocoded address data in relation to," Ratcliffe, Jerry H., 2001. [5] B. LLC, "Fastest Geocoders: Benchmarking Google, Bing, and MapQuest," [Online]. Available: https://blog.batchgeo.com/fastest- geocoders-benchmarking-google-bing-and-mapquest.