Tải bản đầy đủ (.docx) (19 trang)

Ứng dụng hướng dẫn giao thông trong tiếp sức mùa thi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (807.33 KB, 19 trang )

MỤC LỤC

1


2


LỜI MỞ ĐẦU
Hiện nay, tình trạng giao thông ngày càng phức tạp. Vấn đề đặt ra là làm sao có thể tìm
thấy đường đi tốt để thuận tiện trong việc đi lại. Đặc biệt, vào các đợt thi Đại học, các
thí sinh hầu hết từ những vùng miền
khác nhau đến các cụm thi nên việc hướng dẫn đường đi cho các bạn là một vấn đề
đáng lưu tâm.
Với sự bùng nổ của Internet, rất nhiều bản đồ đã được xây dựng. Tuy nhiên, hầu hết
các bản đồ nổi tiếng như Google Maps, Vietbando, … hướng tất cả mọi người dùng
nên không thể hướng dẫn chi tiết cho một nhóm người nào đó, cụ thể là phụ huynh, thí
sinh trong kì thi đại học.
Là sinh viên của trường Đại học Giao thông vận tải Thành phố Hồ Chí Minh, chúng tôi
đã từng là thí sinh dự thi đại học, và chúng tôi cũng phần nào hiểu được sự khó khăn
trong việc tìm đường đến các cụm thi. Và điều này thôi thúc chúng tôi quyết định xây
dựng một ứng dụng mới nhằm hỗ trợ cho bậc phụ huynh, thí sinh và các tình nguyện
viên tham gia “Tiếp sức mùa thi” của trường Đại học Giao Thông Vận Tải Thành Phố
Hồ Chí Minh tại khu vực quận Bình Thạnh, thành phố Hồ Chí Minh.
Chúng tôi rất vui vì đã đóng góp một phần sức mình giúp đỡ nhà trường trong kì thi
đại học sắp tới.

TÓM TẮT NỘI DUNG
Chương 1: Tổng quan về ứng dụng hướng dẫn giao thông trong tiếp sức mùa thi
Chương 2: Giới thiệu google maps api
Chương 3: Xây dựng ứng dụng


3


Chương 4: Kết luận
Chương 5: Hướng phát triển đề tài
Tài liệu tham khảo

LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn thầy giáo Thạc sỹ Nguyễn Lương Anh Tuấn đã giúp
đỡ và hướng dẫn tận tình trong việc xây dựng ứng dụng. Chúng em cũng gửi lời cảm
ơn đến Ban lãnh đạo nhà trường đã tổ chức cuộc thi “Ý tưởng sinh viên giao thông”
đầy bổ ích.

4


CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG HƯỚNG DẪN ĐƯỜNG ĐI TỐT
TRONG VIỆC HỖ TRỢ CÁC THÍ SINH VÀ PHỤ HUYNH TRONG CHƯƠNG
TRÌNH TIẾP SỨC MÙA THI
1.1 Nhược điểm của ứng dụng khác
1.1.1 Đối với các bản đồ thông thường:

Các bản đồ thông thường không thể cập nhật cho người sử dụng tình
trạng đường đi mà chúng ta đang muốn đến. Mặt khác, bản thông thường không
thể cho thấy đường đi một cách trực quan cũng như không thể ước lượng thời
gian đi được.
1.1.2 Đối với một số hệ thống online:
Các hệ thống bản đồ online hiện nay hầu hết là những hệ thống lớn như
Google Maps, Yahoo Maps… Đây vừa là ưu điểm, vừa là nhược điểm của các
hệ thống này vì chúng được xây dựng cho tất cả mọi người dùng nên không thể

hướng dẫn cụ thể cho thí sinh, phụ huynh và các tình nguyện viên tiếp sức mùa
thi của trường Đại học Giao thông vận tải thành phố Hồ Chí Minh.
1.2 Giải pháp

5


Để có thể giúp đỡ các thí sinh, phụ huynh và các bạn tình nguyện viên trong
việc hướng dẫn đường đi đến các cụm thi (hoặc cụm tiếp sức mùa thi nhưng không
phải cụm thi) của trường Đại học Giao thông vận tải thành phố Hồ Chí Minh, nhóm
chúng tôi đã xây dựng một ứng dụng dựa trên Google Maps API. Ứng dụng này sẽ
giúp tìm một đường đi tốt.
Vậy thế nào là một đường đi tốt? Đường đi tốt là một đường đi thông thường
phải đảm bảo ít nhất một trong những tiêu chuẩn: Có thời gian đi ngắn, ít gặp
chướng ngại vật, tốn ít chi phí, dễ tìm, v.v. Tùy theo mục đích của con người mà họ
sẽ hiểu đường đi tốt là khác nhau với những tiêu chuẩn khác nhau. Chẳng hạn:
Người bán hàng sẽ cho rằng đường đi nào bán được nhiều sản phẩm của mình sẽ là
đường tốt. Người phát thư cho rằng cần đường đi sao cho tiết kiệm chi phí, có đi
qua các điểm cần đưa thư mà tổng thời gian ngắn là đường đi tốt. v.v. Vậy thì, đối
với thí sinh và phụ huynh- những người dùng mà phần lớn là người không quen
thuộc đường đi thì đoạn đường như thế nào là tốt? Theo nhóm chúng tôi, đó là con
đường dễ tìm (không phải đường hẻm), thời gian đi và khoảng cách là tương đối
ngắn.
1.3 Lựa chọn công nghệ
1.3.1 Ngôn ngữ sử dụng
1.3.2

Ngôn ngữ chính được sử dụng: HTML
Môt tả ngôn ngữ
HTML là từ viết tắt của Hypertext Markup Language, là ngôn ngữ đánh


dấu siêu văn bản. HTML rất dễ sử dụng và được dùng phổ biến. Một file HTM
là một file text gồm nhiều thẻ (tag) nhỏ, và chúng hướng dẫn trình duyệt
(Browser) phải hiển thị trang web đó như thế nào.

6


CHƯƠNG 2: GIỚI THIỆU VỀ GOOGLE MAPS API
2.1 Google Maps API là gì?
 Google maps là dịch vụ ứng dụng và công nghệ bản đồ trực tuyến trên web

miễn phí được cung cấp bởi Google. Hỗ trợ nhiều dịch vụ khác của Google
nổi bật là dẫn đường, nó cho phép thấy bản đồ đường sá, đường đi cho xe
đạp, cho người đi bộ và xe hơi, và những địa điểm kinh doanh trong khu vực
cũng như khấp nơi trên thế giới.
 Maps API là gì?
 Đó là những phương thức cho phép một website B sử dụng dịch vụ bản
đồ của site A (gọi là Maps API) và nhúng vào website của mình (site B).
Site A ở đây là Google Maps, site B là các trang web cá nhân hoặc tổ
chức muốn sử dụng dịch vụ của Google, có thể rê chuột, room đánh dấu
trên bản đồ …
 Các ứng dụng xây dựng trên maps được nhúng vào trang web cá nhân
thông qua các thể javascripts do vậy việc sử dụng API google rất dể
dàng.
2.2 Một số ứng dụng có thể xây dựng:
 Đánh dấu các điểm trên bản đồ cùng các thông tin cho địa điểm: các khu vui

chơi giải trí, nhà hàng, khách sạn, các quán ăn ngon,các shop quần áo nữ
trang, …

 Chỉ dẫn đường đến các địa điểm cần tìm, chỉ dẫn đường giao thông công
cộng, có thể là các địa điểm cung cấp như trên.
 Khoanh vùng khu vực: các trung tâm kinh tế, khu đô thị, khi ô nhiễm, …
 Tình trạng thông các khu vực …

7


CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG
3.1 Tạo bản đồ:
Để load bản đồ, chúng tôi đã dùng một đoạn Javascript đặt trong thẻ <head>
như sau:

Trong đó: Tùy chọn Options có những thuộc tính sau:
Center: Là một điểm trung tâm của bản đồ mà chúng ta muốn xây dựng với hai thông
số là vĩ độ (Latitudes) và kinh độ (Longitudes).
Zoom: Là độ phóng đại của bản đồ.
mapTypeID: loại bản đồ được hiển thị sau khi load xong, bao gồm 4 loại là roadmap
(bản đồ đường đi), satellite (bản đồ vệ tinh), hybrid (bản đồ phối hợp 2 loại trên) và
terrain (bản đồ địa hình).
Đối tượng map được tạo ra có những tùy chọn trên và được xác định bởi id div_id.
Sau đâu là hình kết quả:

9


3.2 Đánh dấu các cụm thi:
Để đánh dấu một cụm thi, việc đầu tiên chúng ta cần xác định tọa độ của các điểm thi.
Sau đây là bảng tọa độ các cụm thi của trường Đại học Giao thông vận tải Thành phố
Hồ Chí Minh:
Tên trường
Trường

Địa chỉ
ĐH

Tọa độ

GTVT Số 2 đường D3 khu Văn 10°48'17.4"N

TPHCM CS1

thánh bắc, p25 quận Bình 106°43'00.0"E

Thạnh HCM

Trường

ĐH

10.804822, 106.716679

GTVT Số 70 đường Tô ký, 10°51'57.4"N

TPHCM CS3

phường Tân Chánh Hiệp, 106°37'05.3"E
quận 12

THCS Bình Quới Tây

10.865940, 106.618149

376A Bình Quới, P.28, Q. 10°49'20.6"N
Bình Thạnh, Tp. Hồ Chí 106°44'01.4"E
Minh

Tiểu học Bình Quới Tây

10.822394, 106.733733

376 Bình Quới, P.28, Q. 10°49'23.8"N
Bình Thạnh, Tp. Hồ Chí 106°43'53.6"E
Minh


Tiểu học Thanh Đa

Khu

10.823285, 106.731545

2



Xá Thanh 10°49'01.8"N

Đa, Thanh Đa, Phường 27, 106°43'11.0"E
Quận Bình Thạnh, Thành 10.817155, 106.719711
phố Hồ Chí Minh

10


THCS Thanh Đa

Cạnh lô L, cư xá Thanh 10°48'50.2"N
Đa,

Phường

27,

Bình 106°43'12.3"E


Thạnh, Thành Phố Hồ Chí 10.813935, 106.720094
Minh
THPT Thanh Đa

Cạnh lô G, CX Thanh Đa, 10°48'57.1"N
P.27, Q. Bình Thạnh

106°43'18.3"E
10.815853, 106.721746

Tiểu học Chu Văn An

Địa chỉ 2 Đường Số 3, 10°48'45.6"N
Quận Bình Thạnh, Thành 106°42'21.6"E
phố Hồ Chí Minh

THCS Đống Đa

10.812657, 106.705999

địa chỉ 217, Đường D2, 10°48'33.0"N
Phường

25, Quận

Bình 106°42'58.6"E

Thạnh, Thành phố Hồ Chí 10.809167, 106.716268
Minh

THCS Lê Văn Tám

địa chỉ 107H3, Chu Văn 10°48'10.8"N
An, Phường 26, Quận 106°41'53.0"E
Bình Thạnh, Thành phố 10.803001, 106.698068
Hồ Chí Minh

THCS Cù Chính Lan

Cạnh lô XI, CX Thanh Đa, 10°48'57.0"N
P. 27, Q. Bình Thạnh, Tp. 106°43'02.4"E
Hồ Chí Minh

THPT Nguyễn Hữu Cầu

10.815841, 106.717345

Nguyễn Ảnh Thủ Tân 10°52'00.5"N
Xuân, Hóc Môn

106°36'52.6"E
10.866801, 106.614611

11


KTX GTVT HCM (Có 17/12 Trần Não, quận 2, 10°47'11.6"N
cụm tiếp sức nhưng không HCM

106°43'46.1"E


phải cụm thi)

10.792285, 106.7319231

Sau khi lấy được tọa độ, chúng tôi đánh dấu các điểm đó trên bản đồ. Cách làm
này được gọi là tạo Marker.
var Marker1 = new google.maps.Marker(
{
map:map,
position:new google.maps.LatLng(10.792285, 106.7319231),
title: "KTX DH GTVT TP HCM",
draggable:true,
animation: google.maps.Animation.DROP
}
);

Trong đó:
-

Position là thuộc tính quan trọng nhất và bắt buộc phải có quy định tọa độ đánh

-

dấu
Map là thuộc tính tùy chọn và khai báo như trên sẽ thay thế cho

-

Markers.setMap(map).

Icon là thuộc tính tùy chọn nhằm thay thế hình ảnh mặc định
Title là tiêu đề
Draggable: thuộc tính động, nếu nhận giá trị true
Animation: kiểu động.
Sau đó, chúng tôi tạo một infowindow chính là một cửa sổ chứa thông tin:

var TenC="THCS Đống Đa, SDT: 123456";
//thong tin bo sung ghi vao day
var infowindow = new google.maps.InfoWindow(
{
position:new google.maps.LatLng(10.809167, 106.716268),

12


content:TenC,
maxWidth:800

});
infowindow.open(map, Marker1);

Sau đây là hình kết quả:

3.3 Xác định vị trí hiện tại:
Để tìm được đường đi, ta phải xác định được vị trí hiện tại bằng cách dùng hàm
getLocation() như sau:
function getLocation()

13



{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
x.innerHTML="Latitude: " + position.coords.latitude +
"
Longitude: " + position.coords.longitude;
}
</script>
</body>
</html>
Hàm này sẽ trả về tọạ độ vị trí của chúng ta:

14


Trong đó Latitude là vĩ độ, Longgitude là kinh độ.
3.4 Chỉ dẫn đường trên bản đồ:
Chúng tôi sử dụng service google và chức năng dẫn đường direction. Cụ thể với
đoạn code javascripts như sau:
var request = {
origin:star,
destination: end1,
travelMode: google.maps.TravelMode.DRIVING
};

directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});

15


Khi sử dụng đoạn Javascript trên, chúng ta sẽ vẽ được một đoạn đường giữa hai
điểm cố định.

Sau đó chúng tôi xác định được thời gian đi và độ dài đoạn đường
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [star,star],
destinations: [end1,end1],
travelMode: google.maps.TravelMode.WALKING,
avoidHighways: false,
avoidTolls: false
}, callback);
}
function callback(response, status) {
if (status == google.maps.DistanceMatrixStatus.OK) {
var origins = response.originAddresses;

16



var destinations = response.destinationAddresses;
var outputDiv = document.getElementById('outputDiv');
outputDiv.innerHTML = '';
var results = response.rows[1].elements;
var thoigian= results[1].duration.text;
var khoangcach = results[1].distance.text
outputDiv.innerHTML = 'Khoảng cách: '+ khoangcach + '
Thời Gian Đi: ' + thoigian;
}

Sau khi hoàn chỉnh code, chúng tôi dùng CSS, CSS3 để chỉnh sửa giao diện cho
hợp lý hơn. Bố cục gồm 2 phần:
+ Bên trái là khung chọn đường đi và thông tin khoảng cách và thời gian
+ Bên phải là Map.
Người dùng sẽ chọn cụm thi mà mình muốn đến. Sau đó ứng dụng sẽ xác định
được tọa độ bạn đứng để có thể chỉ dẫn một đường đi tốt từ vị trí của bạn đến cụm thi
đã chọn. Người dùng có thể xem bản đồ thông thường ở chế độ mặc định, hoặc xem
bản đồ vệ tinh bằng cách ấn vào tab vệ tinh. Nếu muốn phóng to hoặc thu nhỏ hình
ảnh, người dùng có thể kéo thanh thu phóng phía bên trái của bản đồ.

17


Thông tin về cụm thi sẽ được hiển thị, do đó, phụ huynh và thí sinh có thể đến đúng địa
chỉ và cũng có thể liên lạc tới các cụm tiếp sức nếu cần.
CHƯƠNG 4: KẾT LUẬN
4.1 Đánh giá chung về ứng dụng:
 So với với các ứng dụng trước, thì ứng dụng này là cái mới trong việc hỗ trợ

chương trình “tiếp sức mùa thi”.
 Đáp ứng được nhu cầu thực tế, mang lại lợi ích cho các thí sinh trong kỳ thi

tuyển sinh đại học.
4.2 Kết quả đạt được: ứng dụng tương đối hoàn chỉnh về các chức năng cơ bản:
 Chạy được trên các trình duyệt, giao diện dể nhìn, dể sử dụng.
18


 Ứng dụng hướng dẫn cho người dùng một đường đi tốt.

4.3 Hạn chế:
 Ứng dụng bắt buộc người dùng phải có kết nối Internet
 Thời gian đi chưa thực tế vì chưa thể xác định chính xác tình trạng của các

đoạn đường.
 Chưa mô tả được giao thông trên đường đến các cụm thi.
CHƯƠNG 5: HƯỚNG PHÁT TRIỂN ĐỀ TÀI
 Xây dựng trang web hoàn thiện hơn về mặt giao diện cũng như chức năng.
 Xây dựng thêm cơ sở dữ liệu để có thể lấy được thông tin chính xác hơn về các

đoạn đường.
 Mở rộng quy mô không chỉ hướng dẫn đường đi đến các cụm tiếp sức mùa thi tại

trường Đại học Giao thông vận tải thành phố Hồ Chí Minh mà còn cho các trường
khác trên địa bàn thành phố.
 Phát triển lên cho các thiết bị di động sự dụng định vị GPS

TÀI LIỆU THAM KHẢO
Tài liệu mà chúng tôi tham khảo được lấy từ:
1. />2. />
19




×