Hình 1.2: Một số trang web sử dụng công nghệ Web 2.0Web 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
Trang 1Như 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ácthô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ôngtin 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ệtNam 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 Tuynhiê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 APIthì miễn phí và nhiều chức năng Vì vậy, chọn Google Maps API là lựa chọn thôngminh để đả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áctuyến đường, sông, hồ, tụ điểm du lịch, … tuy nhiên lại ít có ứng dụng nào chú ý đếnviệ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 xebuý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ữngngườ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ụngGoogle Maps API
Trang 2Trê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ôngnghệ 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 Tin trong suốt thời gian học tập tại trường
D4-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 ghinhớ đ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
Trang 3LỜI NÓI ĐẦU
Trang
CHƯƠNG 1: GIỚI THIỆU CHUNG 1
1.1 Bản đồ trực tuyến 1
1.1.1 Bản đồ 1
1.1.2 Bản đồ trực tuyến 2
1.2 Công nghệ Web 2.0 2
1.2.1 Giới thiệu công nghệ Web 2.0 2
1.2.2 Đặc điểm của công nghệ Web 2.0 3
1.2.3 Một số loại dịch vụ tiểu biểu sử dụng công nghệ Web 2.0 5
1.3 Công nghệ Mashup 5
1.3.1 Mô hình Mashup 8
1.3.2 Ứng dụng kết hợp 9
1.4 Kết luận chương 9
CHƯƠNG 2: TỔNG QUAN GOOGLE MAPS API 10
2.1 Google Maps API là gì? 10
2.1.1 Khái niệm 10
2.1.2 Phép chiếu Mercator 10
2.2 Các chức năng tương tác cơ bản 11
2.2.1 Panning 11
2.2.2 Zooming 12
2.2.3 Map Type Control 13
2.3 Một vài ứng dụng 14
2.4 Kết luận chương 15
CHƯƠNG 3: PHƯƠNG PHÁP SỬ DỤNG VÀ PHÁT TRIỂN CÔNG NGHỆ 16
3.1 Đăng ký và sử dụng Google Maps API 16
Trang 43.3 Lớp phủ trên bản đồ 20
3.3.1 Marker 21
3.3.2 Polyline 22
3.3.3 Polygon 24
3.3.4 Infowindows 25
3.4 Sự kiện 25
3.5 Kết luận chương 25
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 26
4.1 Mô hình nghiệp vụ 26
4.1.1 Biểu đồ ngữ cảnh 26
4.1.2 Biểu đồ phân rã chức năng 26
4.1.3 Mô tả chi tiết các chức năng 26
4.1.4 Các hồ sơ dữ liệu cần sử dụng 27
4.1.5 Lập ma trận thực thể chức năng 27
4.2 Biểu đồ luồng dữ liệu 28
4.2.1 Biểu đồ luồng dữ liệu mức 0 28
4.2.2 Mô hình dữ liệu 28
4.2.3 Mô hình quan hệ 29
4.3 Thiết kế cơ sở dữ liệu vật lý 30
4.3.1 Tài khoản 30
4.3.2 Bến xe 30
4.3.3 Tuyến xe 31
4.3.4 Kết nối 31
4.4 Một số kết quả 32
4.5 Hướng dẫn sử dụng cơ bản 32
4.5.1 Tìm lộ trình 32
Trang 54.6 Kết luận chương 33 KẾT LUẬN 34 TÀI LIỆU THAM KHẢO 35
Trang 6Hình 1.1: Minh họa bản đồ kho báu 1
Hình 1.2: Một số trang web sử dụng công nghệ Web 2.0 3
Hình 1.3: Ví dụ về Mashup 6
Hình 2.1: Phép chiếu Mercator 11
Hình 2.2: Panning trong Google Maps 12
Hình 2.3: Zooming trong Google Maps 13
Hình 2.4: Map type control của Google Maps 13
Hình 2.5: Kiểm tra các kênh phát sóng qua internet 14
Hình 2.6: Hiển thị các cột phát sóng 14
Hình 2.7: Kiểm tra ngày và đêm 15
Hình 3.1: Tạo dự án sử dụng Google Maps API 16
Hình 3.2: Tạo dự án sử dụng Google API thành công 17
Hình 3.3: Tạo một bản đồ đơn giản bằng Google Maps API 19
Hình 3.4: Ví dụ về marker trong Google Maps API 21
Hình 3.5: Marker với tùy chọn icon 22
Hình 3.6: Ví dụ về polyline trong Google Maps API 23
Hình 3.7: Ví dụ về polygon trong Google Maps API 24
Hình 3.8: Inforwindows trong Google Maps 25
Hình 4.1: Biểu đồ ngữ cảnh của hệ thống 26
Hình 4.2: Biểu đồ phân rã chức năng 26
Hình 4.3: Biểu đồ luồng dữ liệu mức 0 28
Hình 4.4: Mô hình thực thể quan hệ 29
Hình 4.5: Tìm kiếm đường đi 32
Trang 7Bảng 4.1: Ma trận thực thể chức năng 27
Bảng 4.2: Thiết kế cơ sở dữ liệu bảng “Tài khoản” 30
Bảng 4.3: Thiết kế cơ sở dữ liệu bảng “Bến xe” 30
Bảng 4.4: Thiết kế cơ sở dữ liệu bảng “Tuyến xe” 31
Bảng 4.5: Thiết kế cơ sở dữ liệu bảng “Kết nối” 31
Trang 8Từ 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
OGC Open Geospatial Consortium
Trang 9CHƯƠ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áttriể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 dungcủa bản đồ được biểu thị bằng hệ thống ký hiệu quy ước
Trang 10Bản đồ thường dùng nhất trong địa lý Theo nghĩa này bản đồ thường có haichiề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ơ quancung 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ơ quanChí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ệtNam 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ớinguồ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ấpmộ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ìnhduyệ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ănbả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 đơngiản, đó là nhờ vào công nghệ Web 2.0
Trang 11Hì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ạytrê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ủaWeb 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, baogồm web service APIs (1998), Ajax (1998), và web syndication (1997) Chúng chophé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 ướcnà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 đặtnhiề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à
Trang 12khô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ấpnhư 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ườitruy cập Internet không qua PCs thì việc hiển thị trở nên quan trọng hơn, ví dụ cácthiế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ậpngà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 (iPhonehoặ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àngmộ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ọngnhấ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 Web2.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 độ quantrọ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ốtnhấ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ạodị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ìnhthườ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
Trang 13cườ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 quakiế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ươngtá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ụngchạ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 trangweb 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ềnweb mà không cần cài các chương trình chat thông dụng như Yahoo Messenger, MSN,
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 trangweb 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 ứngdụ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ácnơ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ộtcuộ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ườithể 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ớinhau
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ỹ
Trang 14thuậ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ủaGoogle, Amazon, Flickr, …
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ậphợ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 đượctrê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, …
Trang 15Mashup thể hiện rõ đặc trưng của Web 2.0 là “cá nhân hóa thông tin” Chẳnghạ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ếthợp hai dịch vụ YouTube và Flickr Hay người sử dụng có thể “trộn” dữ liệu về tìnhtrạng giao thông Hà Nội với Google Maps để lập bản đồ điểm thường xuyên tắc đườngtrong 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ủaGoogle là: Google Maps và Google Earth Và đã có một câu nói ví von thế này: “Ngaykhi Google Maps và Google Earth ra đời, nhiều người đã tích hợp công cụ này vàotrong 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ộiphạ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ọingườ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ềutrang 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ươngmạ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ànghó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ácnguồ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
Trang 16 Video - ảnh: Ví dụ như giao diện lập trình ứng dụng API của Flickr để tạoMashup chia sẻ ảnh trên những trang khác
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ề dulị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 tintứ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ênchú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ụngloạ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ầnMashup 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ữngtá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ưngMashup cũng có những hạn chế Theo Stefan Andreasen – giám đốc kỹ thuật củaKapow Technologies, “Các Mashup có ý nghĩa 80 quy trình công nghệ thông tin thôngthường Nhưng không công ty nào sử dụng mô hình như Mashup cho thông tin quantrọ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 caohơ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ênnhư 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ênmá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 hayDreamweaver, 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à cungcấ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épngười dùng có thể tạo ra các Mashup của riêng họ
Trang 171.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, Mashuptươ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ế, …
Trang 18CHƯƠ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ữngvậ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ênbả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 cungcấ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 GoogleMaps 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 trongkhu 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ủasite 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ủagoogle, 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ôngqua 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 ứngdụ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íchthướ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 đồ
Trang 19cá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 đượcnhữ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 đượccá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ểntươ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ầuhế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ấpnhậ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 cungcấp những cách để thiết lập hành động này
Trang 20Panning 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 chopanning
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ầuhết, panning được bật lên tự động nhưng thông qua phương thứcmap.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áchchỉ định
Phương thức panDirection(dx,dy) sử dụng để di chuyển bản đồ tới vị trí dx, dy
Trang 21Zooming 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 đốitượng GLargeMapControl GLargeMapControl cung cấp 18 mức độ khác nhau choviệ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ạchchia 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 đổitrạ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