MỤC LỤC
Chương I: Đặt vấn đề: .1
Chương II: Các công nghệ liên quan: .4
2.1. Mạng xã hội: .4
2.1.1. Mạng xã hội là gì? .4
2.1.2 . Facebook .5
2.2 . Google Map .8
2.3. GPS .9
2.4 . Các ứng dụng tương tự .13
2.4.1. Map Your Buddies .13
2.4.2. Useamap .14
Chương III: Kiến trúc hệ thống .15
3.1 . Mô tả hệ thống .15
3.2 . Thành phần hệ thống .16
3.2.1 . Client .16
3.2.2 . Facebook Server .19
3.2.3 . Google Map .19
3.2.4 . Server .21
3.2.5 . Database Server .23
3.2.6 . Webservices .25
3.2.7 . Mobile-Application .26
Chương IV: Cài đặt .28
4.1 . Cài đặt hệ thống .28
4.2 . Đăng nhập và tham gia vào ứng dụng .30
4.2.1 . Đăng nhập Facebook .30
4.2.2 . Tham gia vào ứng dụng .31
4.3 . Cách sử dụng ứng dụng .32
4.4 . Mở rộng ứng dụng .34
4.4.1 . Mở rộng ứng dụng cho hãng Taxi .34
4.4.2 . Mở rộng ứng dụng cho nhà hàng ăn .38
Chương V: Kết luận .39
5.1 . Khái quát nội dung đề tài .39
5.2 . Các bước thực hiện .39
5.3 . Kết quả đạt được .39
5.4 . Phương hướng phát triển .40
47 trang |
Chia sẻ: netpro | Lượt xem: 2295 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Khóa luận Mạng xã hội địa điểm trên facebook, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ên), Andrew McCollum (nghệ sĩ đồ họa), và Chris Hughes nhanh chóng tham gia cùng với Zuckerberg để giúp quảng bá website. Vào tháng 3 năm 2004, Facebook mở rộng sang Stanford, Columbia, và Yale. Việc mở rộng tiếp tục khi nó mở cửa cho tất cả các trường thuộc Ivy League và khu vực Boston, rồi nhanh chóng đến hầu hết đại học ở Canada và Hoa Kỳ.
Vào tháng 6 năm 2004, Facebook chuyển cơ sở điều hành đến Palo Alto, California. Công ty đã bỏ chữ The ra khỏi tên sau khi mua được tên miền facebook.com vào năm 2005 với giá 200.000 USD. Facebook ra mắt phiên bản trung học vào tháng 9 năm 2005, Zuckerberg gọi nó là một bước logic tiếp theo. Vào thời gian đó, các mạng của trường trung học bắt buộc phải được mời mới được gia nhập. Facebook sau đó mở rộng quyền đăng ký thành viên cho nhân viên của một vài công ty, trong đó có Apple Inc và Microsoft. Tiếp đó vào ngày 26 tháng 9 năm 2006, Facebook mở cửa cho mọi người trên 13 tuổi với một địa chỉ email hợp lệ. Vào tháng 10 năm 2008, Facebook tuyên bố nó đã thiết lập một trụ sở quốc tế tại Dublin, Ireland.
- Ấn tượng với Facebook
Website hiện có hơn 250 triệu thành viên đăng ký sử dụng trên khắp thế giới. Facebook qua mặt Myspace về số lượng người truy cập, khiến cho Facebook trở thành mạng xã hội phổ biến nhất, tiếp theo sau là MySpace và Twitter. Zuckerberg cho rằng "250 triệu người sử dụng không chỉ là một con số ấn tượng mà nó còn cho thấy bao nhiêu người trên thế giới đang kết nối với nhau".
Facebook là 1 sự lựa chọn được yêu thích của người dùng Việt Nam. Trong những tuần đầu của tháng 7, Việt Nam chính là quốc gia có số lượng thành viên sử dụng Facebook tăng nhanh nhất thế giới.
Facebook đã có thêm 1 cột mốc mới trong lịch sử của mình: trang web đã đạt hơn 1 tỷ lượt xem video trong tháng 6 vừa qua. 1 tỷ lượt xem video không phải là nhỏ nhưng nó vẫn không "thấm" vào đâu so với số lượt xem video của YouTube. Trang web chia sẻ video số 1 thế giới này có tới 1,2 tỷ lượt xem mỗi ngày. Nhưng chắc chắn Facebook Video sẽ còn tiếp tục phát triển bởi lẽ Facebook đã đi từ con số 0 để trở thành mạng xã hội lớn nhất hiện nay với tốc độ tăng trưởng kinh khủng chỉ trong 1 năm trở lại đây.
Facebook đã gặp phải một số tranh cãi trong những năm qua. Nó đã bị cấm một thời gian tại một số quốc gia, trong đó có Syria và Iran. Nó cũng đã bị cấm tại nhiều công sở để hạn chế nhân viên tốn thời gian sử dụng dịch vụ. Quyền riêng tư cũng là một vấn đề, và nó bị lạm dụng vài lần. Trang này cũng đang đối mặt với một số vụ kiện từ một số bạn cùng lớp của Zuckerberg, họ nói rằng Facebook đã ăn cắp mã nguồn và các tài sản trí tuệ khác của họ.
- Những nhân tố đem lại thành công của Facebook:
Cung cấp dịch vụ tiện ích trực tuyến để phục vụ các hành vi xã hội trong một cộng đồng ngoại tuyến. Facebook tạo ra môi trường cho các hoạt động trí tuệ, xoay quanh mối quan hệ giữa con người; cho phép chia sẻ quan điểm, suy nghĩ, thông tin và tương tác với nhau.
Thời gian đầu, hạn chế đăng ký thành viên (và các hành vi khác) để tạo ra sự thèm muốn các dịch vụ trực tuyến (tạo làn sóng đăng ký thông qua hình thức marketing truyền khẩu)
Facebook là tổng hợp của một chuỗi các cộng đồng vi mô đã được thâm nhập sâu
Xây dựng nhận thức thương hiệu mạnh dựa trên người dùng và quảng cáo, các sáng lập viên được sự tín nhiệm của các học viên (trong thời gian khởi sự Facebook)
Facebook cung cấp một mạng xã hội được tiêu chuẩn hoá và tự điều khiển/linh hoạt - một cổng dừng chân được cá nhân hoá cao phục vụ kết nối trực tuyến - người sử dụng có thể lập trình ra trang của riêng họ với các ứng dụng kéo-và-thả liên tục được tạo mới, có giao diện người sử dụng đơn giản, sạch, bảo mật và ổn định.
Người sử dụng thích được giới thiệu bản thân của họ và kết nối với bạn bè trong một môi trường được bảo vệ, nơi những người được họ tin tưởng và biết nằm trong mạng lưới của họ và họ không cảm thấy bị xâm hại hoặc cưỡng chế xem quảng cáo.
Quảng cáo của Facebook được cá nhân hoá và dựa trên tính truyền miệng, đàm luận.
2.2 . GOOGLE MAP
Google Maps (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 xá, đườ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. Lúc đó chúng ta có thể nhấp và kéo bản đồ để xem ngay các khu vực lân cận. Xem hình ảnh vệ tinh của vị trí mong muốn mà bạn có thể thu nhỏ, phóng to và quay.
3.3 . GPS : Global Positioning System
Theo [1] GPS (Global Positioning System) - Hệ thống định vị toàn cầu - là hệ thống xác định vị trí dựa trên vị trí của các vệ tinh nhân tạo. Trong cùng một thời điểm, ở một vị trí trên mặt đất nếu xác định được khoảng cách đến ba vệ tinh (tối thiểu) thì sẽ tính được toạ độ của vị trí đó.
GPS được thiết kế và quản lý bởi Bộ Quốc phòng Hoa Kỳ, nhưng chính phủ Hoa Kỳ cho phép mọi người sử dụng nó miễn phí, bất kể quốc tịch từ năm 1980, GPS hoạt động trong mọi điều kiện thời tiết, mọi nơi trên Trái Đất, 24 giờ một ngày. Không mất phí thuê bao hoặc mất tiền trả cho việc thiết lập sử dụng GPS.
GPS là hệ dẫn đường dựa trên một mạng lưới 24 quả vệ tinh được đặt trên quỹ đạo không gian, hoạt động dựa trên các trạm phát tín hiệu vô tuyến điện. Được biết nhiều nhất là các hệ thống có tên gọi LORAN - hoạt động ở giải tần 90-100 kHz chủ yếu dùng cho hàng hải, hay TACAN - dùng cho quân đội Mỹ và biến thể với độ chính xác thấp VOR/DME - VHF dùng cho hàng không dân dụng
- Sự hoạt động của GPS
Các vệ tinh GPS bay vòng quanh Trái Đất hai lần trong một ngày theo một quỹ đạo rất chính xác và phát tín hiệu có thông tin xuống Trái Đất. Các máy thu GPS nhận thông tin này và bằng phép tính lượng giác tính được chính xác vị trí của người dùng. Về bản chất máy thu GPS so sánh thời gian tín hiệu được phát đi từ vệ tinh với thời gian nhận được chúng. Sai lệch về thời gian cho biết máy thu GPS ở cách vệ tinh bao xa. Rồi với nhiều quãng cách đo được tới nhiều vệ tinh máy thu có thể tính được vị trí của người dùng và hiển thị lên bản đồ điện tử của máy.
Máy thu GPS phải khoá được với tín hiệu của ít nhất ba quả vệ tinh để tính ra vị trí hai chiều (kinh độ và vĩ độ) và để theo dõi được chuyển động. Với bốn hay nhiều hơn số quả vệ tinh trong tầm nhìn thì máy thu có thể tính được vị trí ba chiều (kinh độ, vĩ độ và độ cao). Một khi vị trí người dùng đã tính được thì máy thu GPS có thể tính các thông tin khác, như tốc độ, hướng chuyển động, bám sát di chuyển, khoảng hành trình, quãng cách tới điểm đến, thời gian Mặt Trời mọc, lặn và nhiều thứ khác nữa.
- Độ chính xác của GPS
Các máy thu GPS ngày nay cực kì chính xác, nhờ vào thiết kế nhiều kênh hoạt động song song của chúng. Các máy thu 12 kênh song song (của Garmin) nhanh chóng khoá vào các quả vệ tinh khi mới bật lên và chúng duy trì chắc chắn liên hệ này, thậm chí trong tán lá rậm rạp hoặc thành phố với các toà nhà cao tầng. Tình trạng nhất định của khí quyển và các nguồn gây sai số khác có thể ảnh hưởng tới độ chính xác của máy thu GPS. Các máy thu GPS có độ chính xác trung bình trong vòng 15 mét.
Các máy thu mới hơn với khả năng WAAS có thể tăng độ chính xác trung bình tới dưới 3 mét. Không cần thêm thiết bị hay mất phí để có được lợi điểm của WAAS. Người dùng cũng có thể có độ chính xác tốt hơn với GPS Vi sai (Differential GPS, DGPS) sửa lỗi các tín hiệu GPS để có độ chính xác trong khoảng 3 đến 5 mét. Cục Phòng vệ Bờ biển Mỹ vận hành dịch vụ sửa lỗi này. Hệ thống bao gồm một mạng các đài thu tín hiệu GPS và phát tín hiệu đã sửa lỗi bằng các máy phát hiệu. Để thu được tín hiệu đã sửa lỗi, người dùng phải có máy thu tín hiệu vi sai bao gồm cả ăn-ten để dùng với máy thu GPS của họ.
- Hệ thống vệ tinh GPS
24 quả vệ tinh làm nên vùng không gian GPS trên quỹ đạo 12 nghìn dặm cách mặt đất. Chúng chuyển động ổn định, hai vòng quỹ đạo trong khoảng thời gian gần 24 giờ. Các vệ tinh này chuyển động với vận tốc 7 nghìn dặm một giờ.
Các vệ tinh được nuôi bằng năng lượng Mặt Trời. Chúng có các nguồn pin dự phòng để duy trì hoạt động khi chạy khuất vào vùng không có ánh sáng Mặt Trời. Các tên lửa nhỏ gắn ở mỗi quả vệ tinh giữ chúng bay đúng quỹ đạo đã định.
Dưới đây là một số thông tin đáng chú ý về các vệ tinh GPS (còn gọi là NAVSTAR, tên gọi chính thức của Bộ Quốc phòng Mỹ cho GPS):
Vệ tinh GPS đầu tiên được phóng năm 1978.
Hoàn chỉnh đầy đủ 24 vệ tinh vào năm 1994.
Mỗi vệ tinh được làm để hoạt động tối đa là 10 năm.
Vệ tinh GPS có trọng lượng khoảng 1500kg và dài khoảng 5m với các tấm năng lượng Mặt Trời mở (có độ rộng 7m²).
Công suất phát bằng hoặc dưới 50 watts.
- Tín hiệu GPS
Các vệ tinh GPS phát hai tín hiệu vô tuyến công suất thấp giải L1 và L2. (Giải L là phần sóng cực ngắn của phổ điện từ trải rộng từ 0,39 tới 1,55 GHz). GPS dân sự dùng tần số L1 1575,42 MHz trong giải UHF. Tín hiệu truyền trực thị, có nghĩa là chúng sẽ xuyên qua mây, thuỷ tinh và nhựa nhưng không qua phần lớn các đối tượng cứng như núi và nhà.
Tín hiệu GPS chứa ba mẩu thông tin khác nhau - mã giả ngẫu nhiên, dữ liệu thiên văn và dữ liệu lịch. Mã giả ngẫu nhiên đơn giản chỉ là mã định danh để xác định được quả vệ tinh nào là phát thông tin nào. Có thể nhìn số hiệu của các quả vệ tinh trên trang vệ tinh của máy thu Garmin để biết nó nhận được tín hiệu của quả nào.
Dữ liệu thiên văn cho máy thu GPS biết quả vệ tinh ở đâu trên quỹ đạo ở mỗi thời điểm trong ngày. Mỗi quả vệ tinh phát dữ liệu thiên văn chỉ ra thông tin quỹ đạo cho vệ tinh đó và mỗi vệ tinh khác trong hệ thống.
Dữ liệu lịch được phát đều đặn bởi mỗi quả vệ tinh, chứa thông tin quan trọng về trạng thái của vệ tinh (lành mạnh hay không), ngày giờ hiện tại. Phần này của tín hiệu là cốt lõi để phát hiện ra vị trí.
- Nguồn lỗi của tín hiệu GPS
Những điều có thể làm giảm tín hiệu GPS và vì thế ảnh hưởng tới chính xác bao gồm:
Giữ chậm của tầng đối lưu và tầng ion - Tín hiệu vệ tinh bị chậm đi khi xuyên qua tầng khí quyển.
Tín hiệu đi nhiều đường - Điều này xảy ra khi tín hiệu phản xạ từ nhà hay các đối tượng khác trước khi tới máy thu.
Lỗi đồng hồ máy thu - Đồng hồ có trong máy thu không chính xác như đồng hồ nguyên tử trên các vệ tinh GPS.
Lỗi quỹ đạo - Cũng được biết như lỗi thiên văn, do vệ tinh thông báo vị trí không chính xác.
Số lượng vệ tinh nhìn thấy - Càng nhiều quả vệ tinh được máy thu GPS nhìn thấy thì càng chính xác. Nhà cao tầng, địa hình, nhiễu loạn điện tử hoặc đôi khi thậm chí tán lá dầy có thể chặn thu nhận tín hiệu, gây lỗi định vị hoặc không định vị được. Nói chung máy thu GPS không làm việc trong nhà, dưới nước hoặc dưới đất.
Hình học che khuất - Điều này liên quan tới vị trí tương đối của các vệ tinh ở thời điểm bất kì. Phân bố vệ tinh lí tưởng là khi các quả vệ tinh ở vị trí góc rộng với nhau. Phân bố xấu xảy ra khi các quả vệ tinh ở trên một đường thẳng hoặc cụm thành nhóm.
Sự giảm có chủ tâm tín hiệu vệ tinh - Là sự làm giảm tín hiệu cố ý do sự áp đặt của Bộ Quốc phòng Mỹ, nhằm chống lại việc đối thủ quân sự dùng tín hiệu GPS chính xác cao. Chính phủ Mỹ đã ngừng việc này từ tháng 5 năm 2000, làm tăng đáng kể độ chính xác của máy thu GPS dân sự. (Tuy nhiên biện pháp này hoàn toàn có thể được sử dụng lại trong những điều kiện cụ thể để đảm bảo gậy ông không đập lưng ông. Chính điều này là tiềm ẩn hạn chế an toàn cho dẫn đường và định vị dân sự.)
- Các thiết bị ứng dụng GPS:
Điện thoại di động
ETEN Glofiish X500/X600/X650/X800-M700/M800/M810
Asus P535/P735
Mio A701
Nokia N95
Trong quân sự:
Bom thông minh JDAM, Tên lửa không đối đất, Tên lửa hành trình,Tên lửa đất đối đất ...
2.4 . Các ứng dụng tương tự
2.4.1 . Map Your Buddies:
Một ứng dụng tương tự, cũng sử dụng các API của Facebook, Amazon và Google Map. Là một phi dự án của Đại Học Thương Mại bởi André , Thomas và Joern sau khi họ tốt nghiệp khóa học Capstone IS696.
Cách thức hoạt động của Map Your Buddies: Sau khi người dùng đăng nhập Facebook tất cả địa điểm của bạn bè được đưa lên Google Map.
- Các chức năng chính của Map Your Buddies :
Cung cấp chức năng phân loại cho bạn bè trong danh sách.
Hiển thị đánh dấu theo Zoom của MAP.
Xử lý thông tin ngày sinh của bạn để hiển thị một danh sách ngày sinh nhật hoặc đánh dấu các bạn bè trong danh sách bạn bè.
Hình 2.2 : Giao diện của Map Your Buddies
. Useamap
Là một ứng dụng hiện nay đang hoạt động, thu hút được khá nhiều người dùng. Truy cập trang web useamap.com và đăng ký cho mình một tài khoản là bạn có thể làm rất nhiều thứ trên đấy. Giao tiếp ngay trên web, mỗi người dùng có thể đánh dấu nhiều vị trí mà mình thích. Ứng dụng không hỗ trợ kết nối bạn bè dẫn đến sự khó khăn trong chia sẻ. Mang tính là ứng dụng cho công việc nên Useamap không thể “hòa nhập” vào trong sinh hoạt đời sống của người dùng.
CHƯƠNG III : KIẾN TRÚC HỆ THỐNG
3.1 . Mô tả hệ thống
User Login
Facebook
Server
Google Map Server
Facebook Application
Map
User’s data
Friends info
Mobile Application
Server
XHR
XHR: XMLHttpRequest
Database Server
SQL Request
Map
Webservices
XHR
GET method
SQL Request
Hình 3.1 : Kiến trúc hệ thống :
Mỗi người dùng khi tham gia vào hệ thống phải cung cấp vị trí của mình và những bạn bè trên Facebook có thể theo dõi vị trí này. Người dùng có thể sử dụng 2 cách để tham gia vào hệ thống. Có thể định vị trí bằng tay qua Web hoặc tự động xác định vị trí thông qua thiết bị có hỗ trợ GPS. Thiết bị này được cài đặt một ứng dụng cụ thể.
Cách xác định một vị trí nào đó là căn cứ vào kinh độ và vĩ độ trên bản đồ thế giới được Google Map cung cấp. Ứng dụng phải chạy riêng biệt trên một máy chủ, làm nhiệm vụ nhận các yêu cầu về vị trí của mỗi người dùng, thao tác với cơ sở dữ liệu, và giao tiếp với các người dùng thông qua web hoặc XML (cho ứng dụng trên mobile). Ngoài ra ứng dụng cũng phải kết nối tới dịch vụ của Google Maps để nhận các dữ liệu bản đồ cho việc hiển thị. Các thông tin về mạng xã hội được nhận thông qua các APIs của Facebook.
3.2 . Thành phần hệ thống
Hệ thống có:
Client
Facebook Server
Google Map
Server
Database Server
Webservices
Mobile Application
3.2.1 . Client
Sau khi kết nối đến Facebook (www.facebook.com) người dùng đăng nhập với tài khoản của họ.
Sau đó tham gia vào ứng dụng Mạng xã hội địa điểm bằng cách Allow khi được hỏi. Hoặc truy cập www.apps.facebook.com/xahoidiadiem và Allow ứng dụng.
Mỗi người dùng khi tham gia thì phải cung cấp ID của mình cho ứng dụng. Từ ID đó ứng dụng sẽ lấy ra nhiều thông tin của mình trên Facebook Server.
Client sẽ gửi yêu cầu tham gia lên server gồm có ID của người dùng.
Ban đầu khi mới tham gia do chưa có trong cơ sở dữ liệu của ứng dụng nên Map hiển thị ở vị trí mặc định là thủ đô Hà Nội.
Giao diện từ Client :
Hình 3.2 : Giao diện từ Client
Client cho phép người dùng tự đặt địa điểm của riêng mình khi tích vào Set My Location. Client gửi lên server vị trí của người dùng kèm theo giá trị của Share. Tức là người người dùng muốn chia sẻ vị trí của họ cho tất cả các bạn bè hay không.
Tiếp đến người dùng có thể đặt các địa điểm yêu thích riêng khi tích vào Favourite Places.
Hình 3.3 : Ví dụ địa điểm yêu thích
Client nhận vị trí và chú thích địa điểm đó rồi gửi lên server.
Mục Search Friend dùng để tìm kiếm một ai đó trong danh sách bạn bè của mình. Client gửi nội dung tìm kiếm lên server. Khi được server trả về Map sẽ tự động chuyển đến vị trí người bạn đấy nếu người đấy tồn tại và có trong cơ sở dữ liệu.
Khi ngươi dùng tích chuột vào một trong số bạn của họ. Client yêu cầu server trả về thông tin của người bạn đó đồng thời hiển thị vị trí của người ấy vào giữa bản đồ cộng với địa điểm yêu thích nếu có.
Server
XHR
Facebook
Applicaton
XHR: XMLHttpRequest
Hình 3.4 : Giao tiếp Client
3.2.2 . Facebook Server
Là máy chủ của mạng xã hội Facebook. Trong hệ thống này thì Facebook cung cấp cho ta môi trường phát triên ứng dụng dạng Iframe. Dữ liệu Facebook Server cung cấp cho chúng ta là ID người dùng, ID bạn bè, Info người dùng cũng như bạn bè của mình.
Facebook Server
User’s data
Friends info
Server
Hình 3.5 : Giao tiếp Facebook Server và Server
3.2.3 . Google Map
Cung cấp cho ứng dụng một bản đồ thế giới. Với các vị trí cụ thể APIs của Google Map cho phép chúng ta đánh dấu vị trí và trả về kinh độ, vĩ độ của vị trí đó.
Theo [2] Bạn có thể điều hướng (di chuyển chế độ xem của mình) theo hai chiều trong bất kỳ Bản đồ của Google nào. Để quay (di chuyển bản đồ), hãy thực hiện theo một trong những cách sau:
Nhấp và kéo bản đồ
Bấm mũi tên lên trên bàn phím để di chuyển về hướng bắc
Bấm mũi tên xuống trên bàn phím để di chuyển về hướng nam
Bấm mũi tên phải trên bàn phím để di chuyển về hướng đông
Bấm mũi tên trái trên bàn phím để di chuyển về hướng tây
Ngoài ra, bạn có thể phóng to hoặc thu nhỏ bằng cách bấm các phím + hoặc -. Di chuyển con trỏ lên một vị trí và sử dụng nút cuộn của chuột để phóng to hoặc thu nhỏ vị trí đó. Để định tâm và phóng to một vị trí, nhấp đúp vào vị trí đó.
Sử dụng Công cụ Điều hướng
Bạn sẽ thấy công cụ điều hướng tại maps.google.com được hiển thị ở bên trái. Các công cụ điều hướng bao gồm:
Mũi tên - Nhấp vào các mũi tên thích hợp để di chuyển chế độ xem về phía bắc, nam, đông hoặc tây.
Chế độ xem Phố - Nhấp để xem hình ảnh mức đường phố
Thu phóng - Nhấp + để phóng to từ tâm của bản đồ. Nhấp - để thu nhỏ.
Thanh trượt thu phóng - Kéo thanh trượt thu phóng lên hoặc xuống để phóng to hoặc thu nhỏ dần.
Các trang web khác với Google Maps được nhúng có thể không có đủ hoặc không có những công cụ điều hướng này. Ví dụ: bản đồ được nhúng có thể hiển thị các công cụ điều hướng trông giống như dưới đây:
Hình 3.6 : Cộng cụ điều hướng
3.2.4 . Server
Do cấu hình của ứng dụng là iframe nên Server đóng vai trò điều khiển toàn bộ hệ thống. Là nơi tập trung xử lý các yêu cầu bên phía người dùng. Do ứng dụng mang tính chất xã hội cao nên ban đầu đi vào hoạt động sẽ có ít người tham gia nhưng về sau số lượng người tham gia tăng lên là chuyện đương nhiên. Với một ứng dụng hay, có ích thì việc có đến hàng chục nghìn người tham gia là bình thường. Số yêu cầu được gửi lên Server ngày một tăng lên. Cho nên cần một hệ thống Server có cấu hình tốt để đảm bảo cho ứng dụng phát triển về sau. Đi kèm vào đó Server cần phải đặt trên một đường truyền nhanh, băng thông rộng. Mã nguồn được viết bằng php và java script, các truy vấn SQL đến cơ sở dữ liệu nên Server cần được hổ trợ PHP và My SQL.
- Chứa các tệp cơ bản như:
Index.php là trang chủ của ứng dụng Web.
Function.php chứa hai lớp dữ liệu, lớp thứ nhất là fbserver dùng để giao tiếp với facebook server, lớp thứ hai là fbMyServer dùng để giao tiếp với cơ sở dữ liệu.
Updatedb.php sử dụng truy vấn SQL để cập nhật thông tin người dùng lên cở sở dữ liệu.
Updatefv.php cũng sử dụng truy vấn SQL cập nhật các điểm yêu thích của người dùng lên cơ sở dữ liệu.
getListFriends.php dùng để lấy ra một danh sách các bạn của người dùng.
getFriendInfo.php dùng để lấy thông tin bạn bè của người dùng.
- Các chức năng của server được trình bày dưới đây.
+ Kết nối đến Facebook server:
Kết nối đến facebook server để có thể sử dụng APIs của facebook.
<?php
require_once './client/facebook.php';
//facebook api_key and secret key
$api_key = '7abd58354a7dece310ee66c62792xxxx';
$secret = '39dfbc1296d082072d3c8b0ed0d6xxxx';
//connect to facebook, require app installation
$facebook = new Facebook($api_key, $secret);
Đoạn code nằm trên file function.php giúp cho chúng ta xây dựng được lớp fbserver.
+ Update:
Khi một người dùng tham gia vào hệ thống. Server dùng đối tượng updatedb.php để cập nhật hoặc chèn mới người dùng đó vào trong cơ sở dữ liệu. Trong đó có ID, latitude, longtitude, last_update, share:
ID: là định danh người dùng trên mạng facebook.
latitude và longtitude là vị trí của họ trên bản đồ theo Google Map.
Last_update là thời điểm người dùng update vị trí gần nhất.
Share là giá trị có hay không sự chia sẻ về vị trí của họ.
Trong updatedb.php sẽ kết nối đến Database Server rồi dùng hàm update nếu ID đó đã có trong cơ sở dữ liệu. Và insert vào cơ sở dữ liệu nếu người dùng đó tham gia lần đầu tiên.
Kết nối đến Google Map Server:
Kết nối đến Google Map Server để tải bản đồ với vị trí mặc định:
map.setCenter(new GLatLng(21.02, 105.51),3);
Hiển thị vị trí:
Nếu người dùng mới tham gia thì server sẽ chỉ định hiển thị bản đồ ở vị trí mặc định. Nếu trong cơ sở dữ liệu đã có ID của người dùng này thì server sẽ lấy toàn bộ thông tin về ID đấy. Sau đó dịch chuyển bản đồ đến vị trí mà người đó đã xác nhận.
+ Hiển thị bạn bè:
Một khi đã có ID của người dùng trong cơ sở dữ liệu. Server sữ dụng getListFriends.php để trả về client một danh sách các bạn của ID trên. Và được Client hiển thị ở bảng ListFriends. Trong đó có First_name last_name và avatar.
- Các chức năng xử lý khi được yêu cầu :
+ My Map :
Khi người dùng tích chuột vào My Map thì Server trả về vị trí của người đó có trong cơ sở dữ liệu ứng với ID đang sữ dụng.Vị trí của họ sẽ là trung tâm bản đồ.
+ Set My Location
Như đã nói ở trên, nhận được thông tin từ Client thì Server cập nhật vị trí mới của người dùng vào cơ sở dữ liệu users.
+ Favourite Places
Lưu vào trường favouriste bằng đối tượng updatefv.php. Trong trường có dữ liệu về vị trí, ghi chú, tên và ảnh.
+ Search Friend
Server tìm kiếm thông tin trong cơ sở dữ liệu và trả về cho client tất cả thông tin tìm được.
+ Khi người dùng kick vào một người bạn của mình, server sẽ gọi đến đối tượng getFriendInfo.php để lấy thông tin người bạn đó trên Facebook Server. Trả về kết qua cho Client và hiển thị bên trái ứng dụng. Nếu người dùng đó không có trong cơ sở dữ liệu thì sẽ hiện thông báo “không có trong cơ sở dữ liệu”. Nếu đã có thì tải bản đồ đến vị trí người vừa được chọn.
+ Bản đồ được google xử lý riêng. Server dùng API có sẳn để điều khiển nó. Như đã nói ở phần chức năng của Google Map.
3.2.5 . Database Server
Cũng như Server, database Server cũng phải là một hệ thống lưu trữ lớn. Khi số người dùng tăng lên thì cơ sở dữ liệu cũng tăng dần.
Ban đầu hệ thống cần lưu trữ những dữ liệu như sau :
Ai tham gia vào hệ thống
Vị trí hiện thời
Vị trí yêu thích
Nên cơ sở dữ liệu cần có hai bảng, một bảng chứa thông tin về địa điểm người dùng và một bảng chứa vị trí các điểm yêu thích.
Bảng users :
Hình 3.7. Bảng users
member_id : Định danh người dùng
member_name : Tên người dùng
latitude : Vĩ độ
longtitude : Kinh độ
last_update : Thời gian cập nhật sớm nhất
share_location: Chấp nhận chia sẻ hay không
icon: Hình ảnh đánh dấu vị trí
Bảng favorites:
Hình 3.8. Bảng favorites
member_id : Định danh người dùng
latitude : Vĩ độ
longtitude : Kinh độ
location_name : Tên địa điểm
comment : Giới thiệu đôi nét về địa điểm
photo: Hình ảnh của địa điểm
Server
SQL Request
Database Server
Hình 3.9.Giao tiếp giữa Database Server và Server
3.2.6 . Webservices
Chỉ đơn giản là một dịch vụ web cung cấp dữ liệu cho Mobile Application. Dữ liệu được lấy trên Database Server bằng đối tượng webservices.php. Mobile dùng phương thức get trong vòng lặp để gửi yêu cầu đến Webservices. Khi nhận được yêu cầu webservices kết nối đến Database Server và lấy ra thông tin Mobile Application cần. Sau đó nó dùng dịch vụ .xml để trả về cho Mobile Application.
Webservices
Database Server
Mobile Application
SQL Request
XHR
XHR: XMLHttpRequest
GET
Hình 3.10 : Giao tiếp của Webservices
3.2.7 . Mobile Application
Hình 3.11: Bản đồ trên Mobile Application
Là một ứng dụng chạy trên diện thoại di động dùng hệ điều hành Android. Android cung cấp nhiều API cần thiết để phát triển ứng dụng. Cách thức hoạt động cũng tương tự như ở ứng dụng trên web, chỉ khác ở chức năng cập nhật vị trí.
Được viết bằng ngôn ngữ Java, chạy trên trình dịch Eclipse cài đặt thêm Android SDK.
Các thành phần của Ứng dụng đã được hoàn thành :
fbConnect Android : Là một API có sẵn dùng để kết nối giữa Facebook và Android. Sữ dụng 2 phương thức chính là lấy ID và ID danh sách bạn bè của mình khi tham gia vào ứng dụng.
MainActiviti : Kết hợp với fbConnect Android để tạo lên from đăng nhập vào facebook. Trả về một đối tượng gồm tất cả thông tin cho ứng dụng.
Hình 3.12: Khung đăng nhập facebook trên Mobile
Mapper : Phần hiển thị Map và xử lý dữ liệu tập trung ở đây.
Mapper.java : Là đối tượng chính, kết nối đến webservices để nhận dữ liệu, hiển thị bản đồ ở vị trí mặc định :
double latitude = 21.034619159955625;
double longitude = 105.7737386226654;
int latitudeE6 = (int)(latitude * 1E6);
int longitudeE6 = (int)(longitude * 1E6);
GeoPoint point1 = new GeoPoint(latitudeE6,longitudeE6);
mapOverlays.add(itemizedOverlay);
mapView.getController().animateTo(point1);
PeopleOverlayList.java : Là đối tượng tạo ra một danh sách các vị trí cần được hiển thị trong bản đồ.
User.java : Đối tượng User trong đó có id, latitude, longtitude, lastUpdate, shareLocation.
User List : Đối tượng là một danh sách các đối tượng user.
UsersXmlHandler.java
Các file đính kèm theo tài liệu này:
- Mạng xã hội địa điểm trên facebook.doc