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

Xây dựng hệ thống quản lý các điểm đỗ xe buýt ở Hà Nội sử dụng Google Maps API

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 (1.58 MB, 41 trang )

LỜI MỞ ĐẦU
Như chúng ta đã biết bản đồ từ thời xa xưa giúp con người có thể định hướng
được vị trí chính xác của mình cần đến, giúp bất cứ ai có thể biết được đầy đủ các
thông tin địa lý mà họ muốn tìm hiểu. Ngày nay, với sự giúp đỡ của công nghệ thông
tin người ta có thể ngồi tại chỗ và tìm kiếm chính xác đến một vùng nào đó trên Việt
Nam nói riêng và thế giới nói chung.
Hiện nay, Map API (Application Programming Interface) của Việt Nam có nhà
cung cấp đáng để xem xét là: 1650km, diadiem, vietbando và Google Maps. Tuy
nhiên, với 1650km, chức năng còn sơ sài, diadiem thì những chức năng quan trọng thì
lại tính phí, vietbando thì trả phí mới nhìn được API của họ. Đối với Google Maps API
thì miễn phí và nhiều chức năng. Vì vậy, chọn Google Maps API là lựa chọn thông
minh để đảm bảo về thời gian và chi phí thấp [1].
Cầm trên tay một thiết bị tra cứu mạng, ta có thể dễ dàng tra cứu thông tin về các
tuyến đường, sông, hồ, tụ điểm du lịch, … tuy nhiên lại ít có ứng dụng nào chú ý đến
việc quản lý các điểm xe buýt. Hơn nữa, đây là nhu cầu rất thực tế. Thứ nhất, lượng xe
buýt của người dân những năm gần đây tăng cao, cụ thể, theo tổng công ty vận tải Hà
Nội, năm 2009 đã có 385 triệu hành khách đi xe buýt, tăng 5% so với năm trước đó,
chiếm trên 92% sản lượng vận chuyển của thành phố [2]. Thứ hai, đối với những
người ít đi xe buýt chẳng hạn như người nước ngoài đến Việt Nam chẳng hạn, việc tìm
cho mình một tuyến đường tốt, chi phí thấp thật sự khó khăn. Do vậy, đề tài “Xây
dựng hệ thống quản lý các điểm đỗ xe buýt ở Hà Nội sử dụng Google Maps API”
để giải quyết các khó khăn trên. Đồ án gồm những nội dung cơ bản sau:
• Chương 1: Giới thiệu chung
• Chương 2: Tổng quan về Google Maps API
• Chương 3: Phương pháp sử dụng và phát triển công nghệ
• Chương 4: Xây dựng hệ thống quản lý các điểm đỗ xe buýt ở Hà Nội sử dụng
Google Maps API
LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ,
giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác. Trong suốt thời gian
từ khi bắt đầu học tập ở giảng đường đại học đến nay, em đã nhận được rất nhiều sự


quan tâm, giúp đỡ của quý thầy cô, gia đình và bạn bè. Nhân cơ hội này, em muốn bày
tỏ lòng biết ơn sâu sắc của em tới họ.
Đầu tiên, em muốn cảm ơn người hướng dẫn của em cô Nguyễn Thị Thu Hà, vì
sự hướng dẫn tận tình và khoa học. Đó là một cơ hội lớn cho em để được nghiên cứu
và làm việc dưới sự hướng dẫn của cô. Cảm ơn rất nhiều tới cô vì sự hướng dẫn em và
cách đặt ra các câu hỏi nghiên cứu giúp em tìm hiểu các vấn đề.
Em xin gửi lời cảm ơn chân thành đến các cán bộ, giảng viên trong khoa Công
nghệ thông tin – Trường Đại học Điện Lực đã cùng với tri thức và tâm huyết của mình
để truyền đạt vốn kiến thức quý báu cho chúng em – những thành viên trong lớp D4-
Tin trong suốt thời gian học tập tại trường.
Em muốn cảm ơn những thành viên lớp D4-Tin – Trường Đại học Điện Lực.
Những người bạn luôn chia sẻ và cổ vũ em trong những lúc khó khăn và em luôn ghi
nhớ điều đó.
Cuối cùng, em xin bày tỏ lòng biết ơn vô hạn đối với cha mẹ và gia đình đã luôn
ủng hộ, giúp đỡ em.
Hà Nội, ngày 01 tháng 01 năm 2014
Sinh viên thực hiện

Phạm Trần Thế Lâm
MỤC LỤC
LỜI NÓI ĐẦU
Trang
DANH MỤC CÁC HÌNH
DANH MỤC BẢNG BIỂU
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt Từ đầy đủ Ý nghĩa
AJAX Asynchronous JavaScript and XML
API Application Programming Interface Giao diện lập trình ứng dụng
CIREN Trung tâm thông tin
OGC Open Geospatial Consortium

WMS Web Map Service
7
CHƯƠNG 1: GIỚI THIỆU CHUNG
Khi cuộc sống ngày càng hối hả hơn, bận rộn hơn, công nghệ ngày càng phát
triển mạnh mẽ hơn thì lịch sử của bản đồ cũng phát triển theo đó. Ở chương này chúng
ta sẽ tìm hiểm những khái niệm cơ bản của những công nghệ liên quan tới bản đồ mà
chúng đang và sẽ giúp cho thế giới chúng ta phong phú hơn, tươi đẹp hơn.
1.1 Bản đồ trực tuyến
1.1.1 Bản đồ
Bản đồ là bản vẽ đơn giản miêu tả một không gian, địa điểm và hiển thị những
thông số liên quan trực tiếp đến vị trí ấy có liên quan đến khu vực xung quanh [3].
Hình 1.1: Minh họa bản đồ kho báu
Theo các nhà bản đồ: Bản đồ là sự miêu tả khái quát, thu nhỏ bề mặt Trái Đất
hoặc bề mặt thiên thể khác trên mặt phẳng trong một phép chiếu xác định, nội dung
của bản đồ được biểu thị bằng hệ thống ký hiệu quy ước.
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
8
Bản đồ thường dùng nhất trong địa lý. Theo nghĩa này bản đồ thường có hai
chiều mà vẫn biểu diễn một không gian có ba chiều đúng đắn. Môn bản đồ là khoa học
và nghệ thuật vẽ bản đồ.
1.1.2 Bản đồ trực tuyến
Theo trung tâm thông tin(CIREN thuộc Bộ Tài nguyên – Môi trường) cơ quan
cung cấp dịch vụ này: Ngoài việc cung cấp thông tin cho người truy cập, hệ bản đồ
này còn có ý nghĩa như là cơ sở dữ liệu quan trọng phục vụ hoạt động của các cơ quan
Chính phủ, các cơ quan nghiên cứu khoa học và phục vụ việc phổ cập thông tin cộng
đồng.
Dịch vụ của CIREN được thiết lập đúng tiêu chuẩn Open Geospatial Consortium
(OGC), Web Map Service (WMS). Do vậy, có thể sử dụng bản đồ trược tuyến Việt
Nam kết hợp với rất nhiều dịch vụ WMS của các tổ chức và quốc gia trên thế giới.
CIREN có hướng dẫn phương pháp kết hợp dịch vụ bản đồ trược tuyến Việt Nam với

nguồn ảnh vệ tinh của Microsoft Virtual Earth và Yahoo Map.
Người sử dụng có thể bổ sung các nguồn dữ liệu của riêng mình trên nền dữ liệu
địa lý toàn cầu mà không cần phải có dữ liệu gốc. Từ năm 2008, CIREN đã cung cấp
một dịch vụ miễn phí là Gaia 3.0 để khai thác dịch vụ WMS.
1.2 Công nghệ Web 2.0
1.2.1 Giới thiệu công nghệ Web 2.0
Ngày nay, chỉ với một chiếc máy tính được cài đặt một hệ điều hành và một trình
duyệt web duy nhất mà bạn có thể thực hiện được những công việc như soạn thảo văn
bản, chỉnh sửa ảnh, lập bảng tính, chat, chuyển đổi tài liệu trược tuyến. Tất cả thật đơn
giản, đó là nhờ vào công nghệ Web 2.0.
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
9
Hình 1.2: Một số trang web sử dụng công nghệ Web 2.0
Web 2.0 là thế hệ thứ hai của các dịch vụ đang tồn tại trên nền World Wide Web,
nó cho phép mọi người có thể cộng tác hay chia sẻ các thông tin trực tuyến với nhau.
Trái ngược với thế hệ đầu, Web 2.0 đưa người sử dụng tới gần hơn các ứng dụng chạy
trên Desktop so với các trang web bình thường chỉ chứa đựng các thông tin dạng tĩnh.
Khái niệm Web 2.0 đầu tiên được Dale Dougherty, phó chủ tịch của OReilly Media,
đưa ra tại hội thảo Web 2.0 lần thứ nhất vào tháng 10 năm 2004. Các ứng dụng của
Web 2.0 có sự kết hợp của các công nghệ được phát triển vào cuối thập niên 1990, bao
gồm web service APIs (1998), Ajax (1998), và web syndication (1997). Chúng cho
phép đưa lên trang web một số lượng lớn các phần mềm chạy trên nền web. Quy ước
này còn bao gồm cả Blog (trang cá nhân) và Wiki (từ điển bách khoa mã nguồn mở).
1.2.2 Đặc điểm của công nghệ Web 2.0
Công nghệ Web 2.0 đang sử dụng web như nền tảng: không yêu cầu cài đặt
nhiều phần mềm trên phía người sử dụng - đó là mô hình lập trình nhẹ. Để làm được
điều này bạn cần một chuẩn mở và giải pháp định hướng dịch vụ chứ không phải là
việc lập trình theo yêu cầu và lắp ráp các dịch vụ. Việc tổ chức dữ liệu, video, hình
ảnh và âm nhạc là những ví dụ. Một vài ứng dụng Web 2.0 là phát triển bên dưới và
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm

10
không theo các chu kỳ sản xuất phần mềm chuẩn. Điều này cũng liên quan đến thực tế
mà họ không thể cài đặt vào các ứng dụng desktop nhưng phần mềm được cung cấp
như dịch vụ qua Web. Hơn nữa, phần mềm độc lập với từng thiết bị luôn là một đặc
điểm của Web nhưng với sự đa dạng lớn về các thiết bị được xảy ra và một vài người
truy cập Internet không qua PCs thì việc hiển thị trở nên quan trọng hơn, ví dụ các
thiết bị di động cầm tay. Một yếu tố quan trọng khác là các dịch vụ web được truy cập
ngày nay không phải từ các Web clients (trình duyệt) mà còn từ phần mềm khác mà
không định hướng cơ bản cho Web. Ví dụ như phần mềm iTunes từ Apple. Nó là một
ứng dụng desktop nhưng nó được sử dụng để giao tiếp với thiết bị bên ngoài (iPhone
hoặc iPod) và nó sử dụng RSS để có được thông tin. Sự kết hợp này thể hiện rõ ràng
một thiết bị độc lập quan trọng đối với các ứng dụng Web 2.0.
Tập trung vào việc kết nối con người chứ không phải máy tính: ở Mỹ những
công cụ làm việc này được mô tả như “folksonomies” là các công cụ và kỹ thuật để tạo
cho các wiki, blogs cũng như sử dụng tagging và feeds, mà tự động giúp tham gia
trong mạng để chia sẻ những liên kết ưa thích. Folksonomies được phân biệt với
taxonomy bằng việc sử dụng tags để phân loại một cách linh hoạt; taxonomies kiểm
soát việc phân loại và tổ chức các khái niệm có liên quan với nhau. Một loại ứng dụng
của Web 2.0 được gọi là tag clouds (hoặc word clouds) hoặc tag maps. Chúng tạo
thành biểu diễn các từ trong một tài liệu hoặc các tags của trang (tập hợp các trang) và
được sử dụng trong các trang tin tức để đưa ra tổng quan về những tin tức quan trọng
nhất của ngày hoặc của một chủ đề chính. Dưới đây là một ví dụ về tag cloud cho Web
2.0. Một vài khái niệm và đặc điểm quan trọng là bản đồi và cỡ tương ứng với độ quan
trọng hoặc thường xuyên sử dụng trong ngữ cảnh của Web 2.0.
Làm giàu kinh nghiệm người sử dụng: Một trong những hứa hẹn và công nghệ sử
dụng rộng rãi là AJAX (Asynchronous JavaScript and XML), có thể được mô tả tốt
nhất bởi bản đồ Google và những bất đồng bộ tối thiểu khi bạn di chuyển xung quanh
hành tinh. Một vài dự án phát triển cho phép ‘mash’.
Khai thác trí thông minh tập thể: các giải thuật, công nghệ parsers và ‘mash up’
được yêu cầu – Giải pháp thông minh thương mại được phát triển đồng thời với hệ

thống thông minh để giám sát, bắt video, nhận dạng mẫu và phân giải mẫu. Mashup
hay là kết hợp lai dữ liệu và/hoặc chức năng từ hai hay nhiều nguồn bên ngoài để tạo
dịch vụ mới. Vài ví dụ tồn tại về những người phát triển kết hợp các dịch vụ, ví dụ,
Google Maps (dịch vụ nhà đất, v.v.). API của Google có thể được sử dụng. Các công
cụ chuyển đổi ngôn ngữ được cải thiện nhiều hơn và sẽ trở thành đặc điểm bình
thường trong một vài năm tới. Bên cạnh đó, việc tham chiếu thực tế dữ liệu được tăng
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
11
cường qua phần mềm và việc sở hữu dữ liệu sẽ xác định ai giám sát ứng dụng và có
thể phân phối sản phẩm tốt nhất. Sở hữu dữ liệu có thể được tăng cường nhiều hơn qua
kiến trúc tham gia mà cho phép người sử dụng để làm dữ liệu có giá trị hơn qua tương
tác xã hội và đầu vào.
1.2.3 Một số loại dịch vụ tiểu biểu sử dụng công nghệ Web 2.0
Hiện tại Web 2.0 đã phát triển khá mạnh và các trang web cung cấp các ứng dụng
chạy trực tuyến cũng đã được khá nhiều người sử dụng, có thể kể ra một số các trang
web sau:
• Trang web cung cấp dịch vụ chat trực tuyến: cho phép bạn chat thẳng trên nền
web mà không cần cài các chương trình chat thông dụng như Yahoo Messenger, MSN,

• Trang web cung cấp dịch vụ soạn thảo văn bản trược tuyến: cho phép bạn soạn
thảo các tài liệu trực tuyến giống như soạn thảo bằng các chương trình bình thường.
• Trang web cung cấp dịch vụ soạn thảo tài liệu đa năng: cho phép soạn thảo và
chỉnh sửa các tài liệu với các định dạng PDF, DOC, HTML.
• Trang web lưu trữ dữ liệu trực tuyến: cho phép lưu trữ dữ liệu lến đến 5G và có
thể truy xuất mọi lúc, mọi nơi. Ngoài ra còn có tính năng bảo vệ, chóng virus va hư
hỏng.
• Trang web giúp tạo các trang tin cá nhân: cho phsp bạn có thể tạo ra các trang
web cá nhân với nộ dung tùy thích. Nó cho phép đưa vào các thông tin hay các ứng
dụng trực tuyến vào trang cá nhân này.
• Trang web cung cấp dịch vụ tìm bản đồ: cho phép bạn tra cứu bản đồ của các

nơi trên thế giới
1.3 Công nghệ Mashup
Khi Web 2.0 đang dần trở nên thịnh hành thì cùng với nó là công nghệ Mashup
ra đời và mặc dù chỉ mới phát triển trong thời gian gần đây nhưng nó đã tạo nên một
cuộc cách mạng lớn trong lĩnh vực công nghệ thông tin. Mashup cho phép mọi người
thể hiện khả năng sáng tạo bất tận bằng cách “nối” hai hay nhiều ứng dụng web lại với
nhau.
Theo từ điểm trược tuyến Wikipedia, Mashup được định nghĩa như một công cụ
có khả năng lấy thông tin từ nhiều nguồn dữ liệu khác nhau nhằm tạo ra một dịch vụ
tích hợp đơn nhất và hoàn toàn mới mẻ. Người sử dụng không cần phải am hiểu về kỹ
thuật mà chỉ cần xây dụng dịch vụ dự trên giao diện lập trình ứng dụng sẵn có như của
Google, Amazon, Flickr, …
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
12
Hình 1.3: Ví dụ về Mashup
Mashup được phân làm bốn loại tiêu biểu:
• Consumer Mashup: Trích xuất dữ liệu khác nhau từ nhiều nguồn và được tập
hợp lại dưới một giao diện đồ họa đơn giản.
• Data Mashup: Trộn dữ liệu cùng loại từ nhiều nguồn, chẳng hạn gộp dữ liệu từ
các RSS feed vào một feed đơn nhất.
• Business Mashup: Sử dụng cả hai loại Mashup trên, thường là tiichs hợp dữ
liệu ở cả trong và ngoài công ty. Ví dụ, công ty bất dộng sản A có thể phân tích thị
phần khi so sánh số căn hộ họ bán được tuần qua với danh sách các ngôi nhà bán được
trên thị trường.
• Telecom Mashup: ứng dụng viễn thông tổng hợp, chẳng hạn kết hợp dịch vụ tin
nhắn của công ty A, nhạc chuông của công ty B, thư thoại của công ty C, …
Mashup thể hiện rõ đặc trưng của Web 2.0 là “cá nhân hóa thông tin”. Chẳng
hạn, một nhà lập trình có thể tạo website chia sẻ ảnh và video của riêng mình khi kết
hợp hai dịch vụ YouTube và Flickr. Hay người sử dụng có thể “trộn” dữ liệu về tình
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm

13
trạng giao thông Hà Nội với Google Maps để lập bản đồ điểm thường xuyên tắc đường
trong thành phố, …
Mashup là những công ty cung cấp dịch vụ có khả năng kết hợp các công nghệ
Web 2.0 lại với nhau. Chúng ta có thể thấy rõ điều này thông qua hai dịch vụ của
Google là: Google Maps và Google Earth. Và đã có một câu nói ví von thế này: “Ngay
khi Google Maps và Google Earth ra đời, nhiều người đã tích hợp công cụ này vào
trong dịch vụ của họ và tìm kiếm bội tiền, chẳng hạn xây dựng bản đồ khu vực tội
phạm trong thành phố”.
Có thể kể tên những Mashup phổ biến như là RateItAll.com, nơi người dùng đưa
ra nhận xét về bất cứ thứ gì họ thích hoặc không thích và Like.com, cho phép mọi
người tìm kiếm và so sánh những mặt hàng tương tự thứ họ vừa mua.
Thông thường các dịch vụ web dùng Mashup kết hợp bản đồ với nhiều loại dữ
liệu từ nhiều nguồn trên web. Trong những năm qua, chúng ta đã chứng kiếm nhiều
trang mới nổ đình đám như Zillow.com dự đoán bất động sản hay AucitionMapper thể
hiện các kết quả tìm kiếm eBay trên bản đồ giúp định vị người bán gần nhất.
Nhưng Mashup còn có thể làm được nhiều việc hơn là những bản đồ có thể chú
giải cho những trang web thông thường. Kỹ thuật này cũng có thể áp dụng cho những
ứng dụng nghiệp vụ phục vụ hoạt động của doanh nghiệp. Vì Mashup dự trên nền tảng
kỹ thuật hiện có – JavaScript, XML và DHTML kế hợp với kết nối Internet tốc độ cao
để hỗ trợ giao diện đồ họa và tính năng phong phú – nên không yêu cầu đầu tư nhiều.
Mashup đang bắt đầu được xem xét một cách nghiêm túc như là giải pháp cho các vấn
đề tích hợp, ứng dụng vốn thường là gánh nặng trước đây.
Các thức tích hợp linh hoạt này đã được áp dụng trước đây, như các trang thương
mại điện tử kết hợp với giám sát của UPS hay FedEx (các dịch vụ vận chuyển hàng
hóa) với thông tin đơn hàng để cung cấp màn hình tổng hợp về tình trạng đơn hàng.
Trong môi trường doanh nghiệp, các hãng cung cấp giải pháp portal (cổng thong tin)
như IBM và Plumtree đã từ lâu cung cấp các công cụ đồ họa để cho phép kết hợp các
nguồn dữ liệu một cách dễ dàng, tạo nên các ứng dụng web tùy biến đơn giản.
Trên thực tế, chúng ta thường gặp bốn nội dung chính của Mashup:

• Bản đồ: Chẳng hạn người dùng lập trình bản đồ về bất động sản, cửa hàng quà
tặng, trường học, … tại một địa phương qua Google Maps
• Video - ảnh: Ví dụ như giao diện lập trình ứng dụng API của Flickr để tạo
Mashup chia sẻ ảnh trên những trang khác
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
14
• Tìm kiếm – mua sắm: Là việc tích hợp tìm kiếm để tra cứu thông tin về du lịch,
nhà hàng, …
• Tin tức: Tiêu biểu nhất là Digg.com – dịch vụ hỗ trợ người sử dụng tập hợp tin
tức về công nghệ, văn hóa, … từ hàng loạt các trang khác nhau.
Tuy nhiên, vì các Mashup dễ tạo hon so với nhiều ứng dụng truyền thống nên
chúng có thể không được kiểm soát một các kỹ lưỡng về mặt bảo mật. Nhiều ứng dụng
loại này dự trên JavaScript vốn có nhiều kẽ hở. Việc cài đặt thoải mái cá thành phần
Mashup bên ngoài là mối hiểu họa nếu bạn không biết rõ bên trong nó thực hiện
những tác vụ gì. Mặc dù hấp dẫ với những ứng dụng phát trình nhanh và gọn nhẹ,
nhưng Mashup cũng có những hạn chế. Theo Stefan Andreasen – giám đốc kỹ thuật
của Kapow Technologies, “Các Mashup có ý nghĩa 80 quy trình công nghệ thông tin
thông thường. Nhưng không công ty nào sử dụng mô hình như Mashup cho thông tin
quan trọng”.
1.3.1 Mô hình Mashup
Thương mại hóa nhanh chóng phần cứng và phần mềm cùng với băng thông rộng
sẽ giúp tạo nền tảng cho các dịch vụ tự xây dựng trang web phức tạp. Trong khi đó,
các trình duyệt ngày càng hiện đại, cho phép các ứng dụng web có tính tương tác cao
hơn và người dùng sẽ quen với việc hòa trộn thông tin từ nhiều nguồn khác nhau để
tạo ra các ứng dụng của riêng họ. Đó chính là Mashup. Những công cụ đang nổi lên
như thế sẽ mở đường cho những người dùng tạo ra những trang web phức tạp hơn,
trong đó phải kể đến sự bùng nổ của Blog, Wiki, Facebook, …
Có rất nhiều các tiếp cận ý tưởng cung cấp dịch vụ tự xây dựng trang web. Một
số nhà cung cấp đi theo hướng tạo ra những trang web đồng sở hữu – đó là Wiki.
Nhưng cũng có nhà cung cấp lại đi theo hướng đưa ra các ứng dụng xuất bản web trên

máy tính để bàn lên web – đó chính là blog hay các trang web cá nhân.
Đối lập với các công cụ xuất bản thế hệ đầu tiên như FrontPage hay
Dreamweaver, rất nhiều dịch vụ cho phép người dùng tạo ra các ứng dụng trực tiếp từ
trình duyệt web và lưu trữ một trang web hoàn thiện trên chính máy chủ của nhà cung
cấp dịch vụ. Thay vì chỉ đơn giản xuất bản các trang web, một số nhà cung cấp dịch vụ
đã tích hợp các dịch vụ web như YouTube, Flickr hay Amazon.com, … cho phép
người dùng có thể tạo ra các Mashup của riêng họ.
1.3.2 Ứng dụng kết hợp
Một xu hướng phổ biến hiện nay là Mashup, tức mọi người kết hợp các bộ dữ
liệu khác nhau để tạo nên một dịch vụ hoặc sản phẩm mới. Nói đơn giản, Mashup
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
15
tương tụ việc người ta tách bài hát trong các album của các nghệ sỹ ở từng thời kỳ để
chọn ra những ca khúc mà họ hài lòng nhất.
Google Maps là nền tảng yêu thích của giới tạo Mashup, như xây dựng bản đồ
chứ thông tin về xe buýt, về các hộ dân cư hay bản đồ thuế, …
1.4 Kết luận chương
Qua đây là những nét phát triển cơ bản của các công nghệ có mối quan hệ mật
thiết với khái niệm bản đồ trực tuyến. Ở chương tiếp theo sẽ nói hẳn về một công nghệ
cụ thể - đó là Google Maps API. Một trong những công nghệ phổ biến trong lĩnh vực
bản đồ trực tuyến.
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
16
CHƯƠNG 2: TỔNG QUAN GOOGLE MAPS API
Google Maps cung cấp cho chúng ta toàn bộ bản đồ của thế giới. Không những
vậy, các API họ cung cấp giúp cho các nhà phát triển xây dựng nên các ứng dụng đáp
ứng phần nào đó nhu cầu của con người. Giờ đây Google đã phát triển nên đến phiên
bản gọi là :"Google Maps API V3".
2.1 Google Maps API là gì?
2.1.1 Khái niệm

Google Maps hay Bản đồ Google (thời gian trước còn gọi là Google Local) là
một 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 và hỗ trợ nhiều dịch vụ dựa vào bản đồ như Google Ride Finder và
một số có thể dùng để nhúng vào các trang web của bên thứ ba thông qua Google
Maps API. Nó cho phép thấy bản đồ đường sá, đường đi cho xe đạp, cho người đi bộ
(những đường đi ngắn hơn 6.2 dặm) 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 [4].
Map API là gì?
• Đó là một 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à Map API) và nhúng vào website của mình (site B). Site A ở đây là
Google Maps, site B là các web site 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.
Google Maps API đã được nâng cấp lên phiên bản thứ 3. Phiên bản này hỗ trợ
không chỉ cho các máy để bàn truyền thống mà cho cả các thiết bị di động. Nhanh hơn
và nhiều hơn các ứng dụng.
Điều quan trọng là các dịch vụ hoàn toàn miễn phí với việc xây dựng một ứng
dụng nhỏ. Trả phí nếu đó là việc sử dụng cho mục đích kinh doanh, doanh nghiệp.
2.1.2 Phép chiếu Mercator
Nhà đồ bản và toán học Hà Lan thế kỉ 16, Gerardus Mercator (Gerhard Kremer),
đã sáng tạo ra phương pháp chiếu bề mặt hình cầu lên mặt phẳng. Phép chiếu Mercator
là phép chiếu bản đồ đẳng góc, nghĩa là nó giữ góc và các hướng như cũ nhưng kích
thước thì thay đổi. Nhược điểm của phép chiếu này là cùng với sự tăng của vĩ độ, tỉ lệ
xích cũng tăng. Tuy nhiên, có một ưu điểm vô giá là việc xây dựng và chấm lên bản đồ
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
17
các điểm và đường rất đơn giản, ngoài ra đường thẳng vẽ theo hướng bất kì là đường
có hướng không đổi (cắt kinh tuyến một góc bằng nhau). Chính vì vậy, người ta sử
dụng phép chiếu Mercator đối với các bản đê hàng hải.

Google Maps sử dụng phép chiếu Mercator vì thế nó không biểu diễn được
những vùng ở cực trái đất. Một sản phẩm liên quan là Google Earth nó biểu diễn được
các cực của trái đất.
Phép chiếu Mercator:
Hình 2.1: Phép chiếu Mercator
Google Maps API: được tạo ra bởi Google, chấp nhận cho các nhà phát triển
tương tác với Googel Map vào website của họ với những dữ liệu được chỉ định. Đó là
một dịch vụ miến phí, và hiện tại nó không chứa quảng cáo nhưng có thể quảng cáo
được hiển thị trong tương lai.
2.2 Các chức năng tương tác cơ bản
Khả năng tương tác với bản đồ là một chức năng cơ bản được cung cấp bởi hầu
hết ứng dụng web dùng cho bản đồ.
Google Maps cung cấp những chức năng này qua sự điều khiển bản đồ mà chấp
nhận người dùng có thể phóng to thu nhỏ, di chuyển, thay đổi kiểu bản đồ.
2.2.1 Panning
Mỗi Google Maps mà bạn tạo trong ứng dụng của bạn có khả năng pan. Panning
đơn giản là khả năng cho bạn di chuyển bản đồ theo bất kỳ hướng nào. Google cung
cấp những cách để thiết lập hành động này.
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
18
Panning trong Google Maps:
Hình 2.2: Panning trong Google Maps
Panning đơn giản chỉ là sử dụng chuột kéo bản đồ về một hướng chỉ định nào đó.
Theo cách khác, Google cung cấp bản điều khiển bản đồ mà bạn có thể sử dụng cho
panning.
Khả năng panning cũng có thể được tắt đi hoặc kích hoạt bởi chương trình. Hầu
hết, panning được bật lên tự động nhưng thông qua phương thức
map.disableDragging() bạn có thể tắt khả năng panning của bản đồ.
Nếu bạn sử dụng một bản đồ cho mục đích miêu tả chung thì chức năng panning
được tắt đi và chấp nhận panning trong bản đồ chính của bạn.

Google Maps API cũng có thể được sử dụng để lập trình pan một bản đồ:
Phương thức panTo(GLatLng) sử dụng để di chuyển bản đồ tới vị trí theo kinh
độ/vĩ độ.
Phương thức panBy(distance) sử dụng để di chuyển bản đồ bởi một khoảng cách
chỉ định.
Phương thức panDirection(dx,dy) sử dụng để di chuyển bản đồ tới vị trí dx, dy.
2.2.2 Zooming
Google Maps API cung cấp khả năng điều khiển phóng to thu nhỏ trong ứng
dụng của bạn. Bằng cách đó Google Maps cho người dùng khả năng phóng to thu nhỏ
ở nhiều mức độ khác nhau trong ứng dụng của họ. Bảng điều khiển phóng to thu nhỏ
được tự động thêm vào ở bên phải bản đồ. Bạn có ba lựa chọn khi viết code trong một
ứng dụng.
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
19
Zooming trong Google Maps:
Hình 2.3: Zooming trong Google Maps
Bảng điều khiển mặc định được cung cấp bởi maps.google.com thông qua đối
tượng GLargeMapControl. GLargeMapControl cung cấp 18 mức độ khác nhau cho
việc phóng to thu nhỏ thông qua dấu "+" và dấu "-" ở bên trên và bên dưới của vạch
chia. Hoặc bạn có thể click chuột để sử dụng chức năng này.
2.2.3 Map Type Control
Bảng điều khiển bản đồ có thể được thêm vào ứng dụng, nó chấp nhận thay đổi
trạng thái hiển thị trong bản đồ, như là nhìn theo dạng bản đồ thường hay theo vệ tinh.
Map type control của Google Maps:
Hình 2.4: Map type control của Google Maps
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
20
2.3 Một vài ứng dụng
5tvs.com kiểm tra các kênh phát sóng qua internet
Hình 2.5: Kiểm tra các kênh phát sóng qua internet

Antennasearch.com hiển thị các cột phát sóng tác động đến 1 địa điểm.
Hình 2.6: Hiển thị các cột phát sóng
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
21
Daylightmap.com kiểm tra ngày đêm ở 1 vùng.
Hình 2.7: Kiểm tra ngày và đêm
2.4 Kết luận chương
Trong chương này chỉ đề cập tới những khái niệm hết sức cơ bản của Google
Maps API và những ví dụ về ứng dụng thiết thực trong cuộc sống. Ở chương tiếp theo
chúng ta sẽ tìm hiểu phương pháp sử dụng cũng như phát triển một công nghệ hết sức
tuyệt vời đó là Google Maps API.
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
22
CHƯƠNG 3: PHƯƠNG PHÁP SỬ DỤNG VÀ PHÁT TRIỂN CÔNG
NGHỆ
Cũng giống như các API khác Google Maps API cũng đòi hỏi người lập trình
phải thông thạo cũng như hiểu cấu trúc của API thì mới có thể tạo ra các sản phẩm tốt.
Chương này trình bày những kiến thức cơ bản và những phương pháp để sử dụng cũng
như phát triển công nghệ Google Maps API.
3.1 Đăng ký và sử dụng Google Maps API
Tất cả các ứng dụng Maps API nên tải Maps API sử dụng một API key. Một key
API cho phép kiểm soát các ứng dụng của người dùng và cũng là việc Google có thể
liên lạc với người dùng về ứng dụng có ích đang xây dựng. Từ đó có cơ hội phát triển
bản thân người dùng.
Tạo một API key:
Truy cập vào và đăng nhập bằng tài khoản
gmail của mình.
Sau đó chọn vào “Create Project” như hình:
Hình 3.1: Tạo dự án sử dụng Google Maps API
Click vào Services link bên trái menu.

GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
23
Kéo xuống dưới tìm Google Maps API v3 service và kích hoạt dịch vụ. Kết quả
ta sẽ được như hình:
Hình 3.2: Tạo dự án sử dụng Google API thành công
3.2 Tạo bản đồ cơ bản
Khi đã có key google cung cấp ta sử dụng key đó trong đoạn mã javascripts trong
thẻ <head>:
<script type="text/javascript"
src=" />key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE">
</script>
Tạo một hàm trong javascripts:
<script type="text/javascript">
function initialize() {
var myOptions = {
center: new google.maps.LatLng(x, y),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new
google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
</script>
Đầu tiên tạo một đối tượng bản đồ chứa các biến khởi tạo bản đồ:
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
24
var myOptions = {
center: new google.maps.LatLng(x,y),
zoom: 8,

mapTypeId: google.maps.MapTypeId.ROADMAP
};
Trong đó:
center: Một điểm (x,y) làm trung tâm của bản đồ Latitudes(vĩ độ) và
Longitudes(kinh độ). Tương tự như trên khi ta định nghĩa 1 điểm là tọa độ trong Map
ta để nó nằm trong new google.maps.LatLng(lat,lng). Một điểm được xác định bởi vĩ
độ và kinh độ.
zoom: độ zoom được quy định khi Map được load.
Map type: loại Map được hiển thị sau khi load xong. có 4 loại để chọn:
ROADMAP, SATELLITE, HYBRID, TERRAIN
Map object: var map = new google.maps.Map (document.getElementById
("map_canvas") , myOptions); Xác định id html chứa đối tượng Map với tùy chọn
"myOptions" như trên.
Giả sử: x= 21.02090, y=105.82542 và YOUR_KEY_API=
AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM (key Google Maps API của
w3schools) thì toàn bộ đoạn mã sẽ viết như sau:
<!DOCTYPE html>
<html>
<head>
<script
key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>
<script>
function initialize()
{
var mapProp = {
center:new google.maps.LatLng(21.02090,105.82542),
zoom:8,
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm
25

mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map=new
google.maps.Map(document.getElementById("googleMap"),mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>
Và ta được kết quả như hình dưới:
Hình 3.3: Tạo một bản đồ đơn giản bằng Google Maps API
GVHD: TS. Nguyễn Thị Thu Hà SVTH: Phạm Trần Thế Lâm

×