0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

101 3 0
0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TR NG I H C M THÀNH PH H CHÍ MINH KHOA CƠNG NGH THƠNG TIN KHĨA LU N T T NGHI P tài: XÂY D NG NG D NG TÌM NG I B NG XE BUÝT T I U THEO NHI U TIÊU CHÍ TRÊN I N THO I WINDOWS PHONE - Gi ng viên h ng d n: Th c s H Quang Kh i - Sinh viên th c hi n: Lê H u Tài MSSV: 1051012145 Thành ph H Chí Minh, tháng n m 2014 L IC M N c tiên, em xin g i l i tri ân đ n quý Th y (Cô) khoa công ngh thông tin – tr ng i h c M Thành ph H Chí Minh nhi t tình ch d y, truy n đ t ki n th c c ng nh kinh nghi m th c t cho em b n su t trình h c t p t i tr ng Tr c bi t, em xin g i l i c m n sâu s c nh t đ n Th y Th c s H Quang Kh i, ng i h t s c quan tâm nhi t tình h ng d n em su t th i gian v a qua đ hoàn thành đ tài t đ án ngành đ n khóa lu n t t nghi p Bên c nh đó, em xin g i l i c m n chân thành đ n Th y Ti n s Phan t Phúc ch d y chia s kinh nghi m đ em hồn thành tính n ng s d ng b n đ offline cho đ tài Cu i cùng, em xin g i l i chúc s c kh e thành công đ n quý Th y, Cô tr ng i h c M thành ph H Chí Minh nói chung q Th y, Cơ khoa cơng ngh thơng tin nói riêng, kính chúc q Th y (Cô) th t nhi u s c kh e g t hái đ c nhi u thành công công vi c cu c s ng! Tp HCM, tháng n m 2014 Trân tr ng Sinh viên Lê H u Tài -i- NH N XÉT C A GI NG VIÊN H NG D N - ii - M CL C L IC M N i NH N XÉT C A GI NG VIÊN H NG D N ii DANH M C CÁC B NG vi DANH M C HÌNH NH vii DANH M C CÁC T VI T T T ix L IM U .x NG 1: T NG QUAN .1 CH t v n đ 1.1 1.1.1 Th c tr ng giao thông hi n 1.1.2 Các gi i pháp cơng ngh hi n có 1.1.3 Lý ch n đ tài 1.2 M c tiêu đ tài 1.3 Ph CH ng pháp th c hi n NG 2: C 2.1 S LÝ THUY T T ng quan v l p trình Windows phone 2.1.1 Cài đ t môi tr 2.1.2 B c c c a m t ng d ng 2.1.3 Tìm hi u XAML l p trình Windows phone 2.1.4 Ngôn ng C# vi c xây d ng ng d ng Windows phone 2.1.5 Tìm hi u LINQ To SQL 12 2.2 ng S d ng GPS A-GPS Windows phone 15 2.2.1 T ng quan v GPS 15 2.2.2 T ng quan v A-GPS 15 2.2.3 S d ng GPS Windows phone 17 2.3 S d ng Google maps ng d ng Windows phone 20 2.3.1 Gi i thi u control Maps Windows phone 20 2.3.2 So sánh Bing maps Google maps 20 2.3.3 Chuy n đ i Bing maps sang Google maps 22 - iii - 2.4 L p trình client – server NET 24 2.4.1 T ng quan v l p trình client – server 24 2.4.2 Xây d ng Server h tr s d ng b n đ offline 27 2.5 T ng quan v Web service 30 2.5.1 Gi i thi u v Web service 30 2.5.2 Xây d ng Web service 31 2.6 Google maps API Web services 32 2.6.1 Cú pháp s d ng 32 2.6.2 X lý k t qu tr v 32 2.6.3 Google Direction API Service 34 2.6.4 Google Geocoding API Service 37 2.6.5 Google Reverse Geocoding API Service 38 2.6.6 Google Place Autocomplete API Service 39 2.6.7 Google Place API Nearby Search Service 41 2.6.8 Google Place API Radar Search Service 42 2.6.9 Google Place Details API Service 43 2.7 Áp d ng cơng th c hình c u c a cosines (Spherical Law of Cosines) 44 2.7.1 Gi i thi u 44 2.7.2 V n d ng 44 2.8 Xây d ng ph ng th c gi i mã t a đ 46 2.8.1 Tính c p bách c a v n đ 46 2.8.2 C s c a vi c xây d ng ph 2.8.3 Ph CH ng th c gi i mã 46 ng th c gi i mã t a đ 50 NG 3: XÂY D NG NG D NG 54 3.1 Gi i thi u ng d ng 54 3.2 T ch c c s d li u 55 3.2.1 D li u c c b (Local Database) 55 3.2.2 D li u t Google Maps API Web Services: 58 3.3 Hi n th c ng d ng 59 3.3.1 Giao di n trang ch 59 - iv - 3.3.2 Hi n th danh sách n xe lên trang n xe 60 3.3.3 Hi n th thông tin c a n xe lên trang thông tin 61 3.3.4 Hi n th danh sách tr m d ng theo t ng n 62 3.3.5 Hi n th l trình xe buýt lên b n đ 64 3.3.6 nh v cá nhân 66 3.3.7 Ch c n ng tìm ki m tr m d ng 67 3.3.8 Tìm đ 3.3.9 Xây d ng trang download b n đ 81 ng b ng xe buýt 73 3.3.10 S d ng pushpin ng d ng 82 3.3.11 Xây d ng hình ch ti n trình th c hi n 84 CH NG 4: K T LU N 85 4.1 K t qu đ t đ 4.2 Nh ng h n ch 85 4.3 H c 85 ng phát tri n 85 TÀI LI U THAM KH O 86 PH L C 87  -v- DANH M C CÁC B NG B ng 2.1: B ng mô t m t s ki u d li u đ c xây d ng s n B ng 2.2: B ng tóm t t thu c tính truy c p c a m t l p C# 11 B ng 2.3: B ng so sánh A-GPS GPS m t s l nh v c 16 B ng 2.4: B ng so sánh GeoCoordinateWatcher class Geolocator class 17 B ng 3.1: B ng TUYENXE .56 B ng 3.2: B ng TRAMDUNG 57 B ng 3.3: B ng LUOT 57 B ng 3.4: B ng LOTRINH 57 B ng 3.5: B ng thu c tính c a pushpin 82 - vi - DANH M C HÌNH NH Hình 2.1: Mơ hình ho t đ ng c a LINQ To SQL 12 Hình 2.2: Cách th c ho t đ ng c a A-GPS 16 Hình 2.3: So sánh Bing maps v i Google maps 21 Hình 2.4: Mơ hình chung c a m t ng d ng client – server có k t n i (TCP) 25 Hình 2.5: Mơ hình ho t đ ng c a server h tr s d ng b n đ offline 28 Hình 2.6: C u trúc c a m t b n tin yêu c u HTTP 28 Hình 2.7: C u trúc c a m t b n tin tr l i HTTP 29 Hình 2.8: Danh m c tr ng thái thông p server g i client 29 Hình 2.9: Ki n trúc Web service 30 Hình 2.10: Minh h a ch c n ng AutoComplete 39 Hình 2.11: L c đ xây d ng ph Hình 2.12: L c đ 11 b Hình 2.13: S đ 11 b Hình 2.14: L ng th c v hình trịn t m t m bán kính 45 c mã hóa thành ph n points 47 c gi i mã t a đ 51 c đ xây d ng ph ng th c gi i mã t a đ 52 Hình 3.1: S đ ch c n ng c a ng d ng 54 Hình 3.2: S đ liên k t c s d li u c a ng d ng 55 Hình 3.3: Mơ hình client – server c a ng d ng 58 Hình 3.4: Giao di n trang ch tr c sau ch n n xe 59 Hình 3.5: Giao di n trang n xe 60 Hình 3.6: S đ phân tích ch c n ng trang n xe 60 Hình 3.7: S đ phân tích ch c n ng hi n th thơng tin n xe 61 Hình 3.8: Giao di n trang thơng tin tr c sau ch n n xe 61 Hình 3.9: S đ phân tích ch c n ng hi n th tr m d ng theo n xe 62 Hình 3.10: Giao di n trang tr m d ng 62 - vii - Hình 3.11: Giao di n hi n th danh sách tr m d ng lên b n đ 63 Hình 3.12: S đ phân tích ch c n ng hi n th l trình lên b n đ 64 Hình 3.13: S đ xây d ng hàm v l trình c a n xe buýt lên b n đ 64 Hình 3.14: Giao di n hi n th l trình di chuy n c a n xe lên b n đ 65 Hình 3.15: Giao di n hi n th v trí ng i dùng lên b n đ 66 Hình 3.16: S đ phân tích ch c n ng tìm ki m tr m d ng theo mã tr m 67 Hình 3.17: Giao di n ch c n ng tìm ki m tr m d ng theo mã tr m 68 Hình 3.18: S đ phân tích ch c n ng tìm ki m tr m d ng t m t m bán kính 69 Hình 3.19: S đ phân tích ch c n ng nh p đ a ch t i h p tìm ki m 70 Hình 3.20: Xác đ nh v trí tìm tr m d ng 71 Hình 3.21: Giao di n hi n th k t qu tìm tr m d ng 72 Hình 3.22: S đ phân tích ch c n ng tìm đ ng b ng xe buýt 74 Hình 3.23: Xác đ nh m b t đ u k t thúc b ng cách nh p đ a ch tr c ti p 75 Hình 3.24: L a ch n m b t đ u hay k t thúc b n đ 76 Hình 3.25: Giao di n trang download b n đ 81 Hình 3.26: Các pushpin đ c s d ng ng d ng 82 Hình 3.27: Giao di n hình ch ti n trình th c thi 84 - viii - DANH M C CÁC T VI T T T A-GPS Assisted - Global Positioning System API Application Programming Interface BTS Base Transceiver Station CSDL C s d li u GPS Global Positioning System HTTP HyperText Transfer Protocol IEEE Institute of Electrical and Electronics Engineers IP Internet Protocol LINQ Language Integrated Query PDA Personal Digital Assistant SDK Software Development Kit SOAP Simple Object Access Protocol SQL Structure Query Language TCP Transmission Control Protocol UDP User Datagram Protocol XAML Extensible Application Markup Language XML Extensible Markup Language - ix - Tr ng h p ng i dùng mu n s d ng v trí c a vi c tìm đ ng, ch vi c nh n gi (hold) t i v trí ch n m b t đ u hay m k t thúc l trình Vi c đánh d u tr c ti p b n đ s làm phát sinh v n đ sau:  Các v trí đ c đánh d u có th n m gi a m t trung tâm th ng m i, b nh vi n, nhà hàng, công viên,… Do đó, ti n hành gi i mã thành ph n points đ v l trình b n đ l trình có kho ng “h ” v i m b t đ u m k t thúc Nguyên nhân, Google Direction Service th c hi n tìm đ ng gi a hai m đ ng gi i quy t v n đ trên, sau th c hi n tìm đ ng, ta ti n hành d ch chuy n m b t đ u m k t thúc “v trí đ ng” Theo đó, m b t đ u m k t thúc l n l t t a đ đ u tiên cu i c a thành ph n points polyline S ki n hold c a b n đ đ c s d ng chung cho c ch c n ng: hold đ xác đ nh v trí tìm tr m d ng, hold đ xác đ nh v trí m b t đ u m k t thúc Do đó, đ phân bi t hold b n đ đ th c hi n ch c n ng nào, ta ph i ti n hành thêm vào bi n đóng vai trị c đ báo hi u Khi ng i dùng ch n ch c n ng “T đây”, ng d ng s hi u m b t đ u, n u ch n ch c n ng “ n đây”, ng d ng s hi u m k t thúc Hình 3.24: L a ch n m b t đ u hay k t thúc b n đ 3.3.8.2 Xây d ng class l u thơng tin l trình Sau xác đ nh m b t đ u m k t thúc, h th ng s tính tốn đ tr v l trình di chuy n gi a hai m theo tiêu chí tìm đ ng, d a d ch v Google Direction Service nâng cao hi u su t s d ng h n ch vi c truy xu t d ch v Google Direction Service m i ch n l i tiêu chí tìm đ ng, ng d ng l n đ u phân rã t p tin JSON s ti n hành tính tốn đ xác đ nh l trình theo t ng tiêu chí l u vào danh sách Theo đó, m i ng i dùng ch n l i tiêu chí, ng d ng s s d ng l i danh sách thay ph i truy c p l i vào d ch v Google Direction Service Ph n đ nh ngh a class Routes.cs đ l u thông tin l trình đ public class Legs  {  public Legs()  {   Listofsteps = newList();  }  c đ c t nh sau: private string end_address;  public string End_address          {  get { return end_address; }  set { end_address = value; }          }  Trang 76 private string arrival_time_text; Public string Arrival_time_text          {  get { return arrival_time_text; }  set { arrival_time_text = value; }          }  privatedouble arrival_time_value;  publicdouble Arrival_time_value  {  get { return arrival_time_value; }  set { arrival_time_value = value; }  }  private string departure_time_text;  public string Departure_time_text  {  get { return departure_time_text; }  set { departure_time_text = value; }  }  private string distance_text;  public string Distance_text  {  get { return distance_text; }  set { distance_text = value; }  }  private string duration_text;  public string Duration_text  {  get { return duration_text; }  set { duration_text = value; }  }  privatedouble duration_value;  publicdouble Duration_value  {  get { return duration_value; }  set { duration_value = value; }  }  privatedouble chiphi;  publicdouble Chiphi  {  get { return chiphi; }  private string start_address;  public string Start_address          {  get { return start_address; }  set { start_address = value; }          }  private string end_location_lat;  public string End_location_lat          {  get { return end_location_lat; }  set { end_location_lat = value; }          }  private string end_location_lng;  public string End_location_lng          {  get { return end_location_lng; }  set { end_location_lng = value; }          }  private string start_location_lat;  public string Start_location_lat          {  get { return start_location_lat; }  set { start_location_lat = value; }          }  private string start_location_lng;  public string Start_location_lng          {  get { return start_location_lng; }  set { start_location_lng = value;           }  private double thoigiandibo  publicdouble Thoigiandibo          {  get { return thoigiandibo; }  set { thoigiandibo = value; }          }  privateint solanchuyentuyen;  publicint Solanchuyentuyen          {  get { return solanchuyentuyen; }  set { chiphi = value; }          }  privatedouble doanduongdibo;  publicdouble Doanduongdibo          {  get { return doanduongdibo; }  set { doanduongdibo = value; }          }  set { solanchuyentuyen = value; }          }    privateList listofsteps;  publicList Listofsteps          {  get { return listofsteps; }  set { listofsteps = value; }  }  }  Ph n đ nh ngh a class steps nh sau: public class Steps  {  public Steps()  {  Listofchildrensteps = newList();  }  private string html_instruction;  public string Html_instruction  {  get { return html_instruction; }  public string Ts_arrival_stop_location_lng  {  get { return ts_arrival_stop_location_lng; }  set { ts_arrival_stop_location_lng = value; }  }  private string ts_arrival_time_text;  public string Ts_arrival_time_text  {  get { return ts_arrival_time_text; }  set { ts_arrival_time_text = value; }  Trang 77 set { html_instruction = value; }  }  private string distance_text;  public string Distance_text  {  get { return distance_text; }  set { distance_text = value; }  }  private double distance_value;  public double Distance_value  {  get { return distance_value; }  set { distance_value = value; }  }  private string duration_text;  public string Duration_text  {  get { return duration_text; }  set { duration_text = value; }  }  private double duration_value;  public double Duration_value  {  get { return duration_value; }  set { duration_value = value; }  }  private string end_location;    public string End_location   {  get { return end_location; }  set { end_location = value; }  }  private string start_location_lat;  public string Start_location_lat  {  get { return start_location_lat; }  set { start_location_lat = value; }  }  private string start_location_lng;   } private string ts_departure_time_text;  public string Ts_departure_time_text  {  get { return ts_departure_time_text; }  set { ts_departure_time_text = value; }  }  private string ts_departure_stop_name;  public string Ts_departure_stop_name   {  get { return ts_departure_stop_name; }  set { ts_departure_stop_name = value; }   }  private string ts_departure_stop_location_lat;  public string Ts_departure_stop_location_lat  {  get { return ts_departure_stop_location_lat; }  set { ts_departure_stop_location_lat = value; }  }  private string ts_arrival_stop_location_lat;  public string Ts_arrival_stop_location_lat  {  get { return ts_arrival_stop_location_lat; }  set { ts_arrival_stop_location_lat = value; }  }    private stringts_departure_stop_location_lng;    public string Ts_departure_stop_location_lng  {  get { return ts_departure_stop_location_lng; }  set { ts_departure_stop_location_lng = value; }  }  private string travel_mode;  public string Travel_mode  {  get { return travel_mode; }  set { travel_mode = value; }  }  private string ts_arrival_stop_name;  public string Start_location_lng  {  get { return start_location_lng; }  set { start_location_lng = value; }  }  private string polyline_points;  public string Polyline_points  {  get { return polyline_points; }  set { polyline_points = value; }  }  private string ts_arrival_stop_location_lng;    public string Ts_arrival_stop_name  {  get { return ts_arrival_stop_name; }  set { ts_arrival_stop_name = value; }   }  private string ts_line_name;  public string Ts_line_name  {  get { return ts_line_name; }  set { ts_line_name = value; }   }  List listofchildrensteps;  publicList Listofchildrensteps  {  get { return listofchildrensteps; }  set { listofchildrensteps = value; }  }  }  Ý ngh a: m i đ i t ng thu c class Legs đ i di n cho l trình t m b t đ u v m k t thúc M i đ i t ng thu c class Steps đ i di n cho t ng đo n đ ng l trình Trang 78 3.3.8.3 X lý tùy ch n tìm đ 3.3.8.3.1 ng T t c k t qu Tùy ch n đ n gi n ch gán danh sách t t c l trình tìm th y (lst_kq) cho ListBox k t qu (lst_Ketqua_timduong) nh sau: lst_Ketqua_timduong.DataContext = lst_kq; 3.3.8.3.2 Th i gian nhanh nh t Vi c xác đ nh th i gian nhanh nh t d a thu c tính Duration_value c a m i l trình Ban đ u, ta gi đ nh l trình đ u tiên l trình có th i gian nhanh nh t thêm l trình vào danh sách l trình c n tìm Sau đó, ta l y thu c tính Duration_value c a l trình đem so sánh v i Duration_value c a l trình l i N u k t qu l n h n ch ng t l trình đem so sánh ch a ph i l trình có th i gian nhanh nh t, ta xóa ph n t c a l trình c n tìm, đ ng th i c p nh t l i l trình có Duration_value nh h n l trình có th i gian nhanh nh t, thêm l trình vào danh sách l trình c n tìm N u k t qu b ng ch ng t c hai l trình đ u có th i gian nhanh nh t, ta thêm l trình vào danh sách l trình c n tìm N u k t qu nh h n ch ng t l trình đem so sánh l trình có th i gian nhanh nh t, ta ti p t c so sánh v i l trình ti p theo Quá trình đ c l p l p l i cho đ n h t l trình tìm th y 3.3.8.3.3 i b nh t C ch tìm l trình có th i gian b nh t t ng t v i c ch tìm l trình có th i gian nhanh nh t, nhiên thu c tính đem so sánh Thoigiandibo thay cho Duration_value 3.3.8.3.4 Chi phí nh t Trong CSDL c a ng d ng có ch a thu c tính GIAVE_NGAND đ xác đ nh giá vé c a t ng n xe T p tin JSON tr v t d ch v Google Direction Service ch a thành ph n name line m t chu i g m: mã n + kho ng tr ng + ‘-‘ + kho ng tr ng + tên n xe Do đó, ta ph i ti n hành x lý chu i name đ l y mã n, sau s d ng mã n đ truy v n CSDL l y thu c tính GIAVE_NGAND Tuy nhiên, CSDL v n xe c a đ tài ch a đ y đ , giá vé ch m i đ c c p nh t t n đ n n 50, đ i v i n không thu c ph m vi trên, em t m th i quy c ngàn đ ng   D a danh sách l trình tìm th y t d ch v Google Direction Service, em nh n th y có hai quan m khác vi c xác đ nh chi phí nh t nh sau:  Quan m logic: chi phí nh t chi phí có giá tr nh nh t danh sách l trình Theo đó, l trình b hồn tồn l trình có chi phí nh t (0 đ ng), ln t n t i h u h t k t qu tr v t Google Direction Service  Quan m s d ng: chi phí nh t chi phí nh nh t danh sách l trình th t s có xe bt Theo đó, l trình b hồn tồn (0 đ ng) khơng đ c tính vi c xác đ nh l trình có chi phí nh t Trang 79 T th c t đó, em dung hịa hai quan m Theo đó, l trình có chi phí nh t ng d ng c a đ tài l trình b hồn tồn (0 đ ng) l trình có chi phí nh t danh sách l trình th t s có xe buýt C ch đ xác đ nh l trình có chi phí nh t nh sau:  Ban đ u, ta t qua ph n t đ tìm ph n t đ u tiên có chi phí khác 0, đ ng th i trình t, ta ghi nh n ph n t có chi phí b ng đ l u vào danh sách l trình c n tìm Ti p theo, ta l y ph n t có chi phí khác so sánh v i ph n t l i danh sách N u ph n t có chi phí b ng ta thêm vào danh sách l trình c n tìm N u k t qu c a phép so sánh l n h n t c l trình đem so sánh ch a ph i l trình có chi phí nh t, ta xóa l trình danh sách l trình c n tìm ngo i tr l trình có chi phí b ng 0, đ ng th i c p nh t l i l trình có chi phí h n l trình có chi phí nh t, thêm l trình vào danh sách l trình c n tìm N u k t qu c a phép so sánh b ng nhau, ch ng t c l trình đ u có chi phí nh t, ta thêm l trình vào danh sách l trình c n tìm Ng c l i, n u k t qu c a phép so sánh nh h n, t c l trình đem so sánh l trình có chi phí nh t, ta ti p t c so sánh v i l trình ti p theo Quá trình đ c l p l p l i cho đ n h t l trình tìm th y 3.3.8.3.5 S n nh t Trong phân rã t p tin k t qu JSON, em ti n hành tính s n cho t ng l trình Theo m i l n chuy n n, s n s c ng thêm 1, đ i v i l trình b hồn tồn s n b ng T ng t nh tr ng h p chi phí nh t, c ng có hai quan ni m v vi c xác đ nh l trình có s n nh t Trong ng d ng c a đ tài, l trình có s n nh t l trình b hồn toàn (s n b ng 0) l trình có s n nh t danh sách l trình th t s có xe buýt 3.3.8.3.6 Xem k t qu Sau th c hi n ch c n ng tìm đ ng, ng d ng s tr v trang k t qu T i đây, ch a thông tin: s k t qu danh sách l trình tìm th y M i ph n t danh sách s ch a thơng tin v l trình (kho ng cách th i gian) kèm ch d n t m b t đ u v m k t thúc Khi ng i dùng ch n m t k t qu , ng d ng s chuy n sang trang b n đ , v l trình di chuy n, hi n th button ch đ ng Các button ch đ ng bao g m:  Nút hi n th k t qu : quay tr v trang k t qu  Nút next previous: ch đ ng t m b t đ u v m k t thúc (theo th t vịng: có th t m b t đ u v m k t thúc ho c t m k t thúc v m b t đ u) Khi th c hi n tính n ng này, m t pushpin s đ c t o giúp ng i dùng d dàng quan sát ch d n đ ng b n đ Trang 80 3.3.9 Xây d ng trang download b n đ Trang download đ c xây d ng đ cho phép ng i dùng download b n đ Google maps v đ s d ng offline Ch c n ng s k t n i đ n Web service đ c xây d ng c s lý thuy t ch ng đ ph c v vi c t i b n đ v n tho i ng i dùng Hình 3.25: Giao di n trang download b n đ Trang 81 3.3.10 S d ng pushpin ng d ng 3.3.10.1 Hi n th pushpin lên b n đ Pushpin m t đ i t ng đ c s d ng đính kèm v i u n Maps, cho phép ng i dùng hi n th m t thông báo ho c m t hình nh, icon lên b n đ Trong Windows phone 8, vi c s d ng pushpin đ c th c hi n qua hai cách:  S d ng class Pushpin thu c namespace Microsoft.Phone.Controls.Maps  S d ng class MapOverlay thu c namespace Microsoft.Phone.Maps.Controls Trong ng d ng c a đ tài, u n Maps đ c s d ng thu c namespace Microsoft.Phone.Controls.Maps, vi c s d ng pushpin đ c th c hi n theo cách thông qua class Pushpin Vi c s d ng class Pushpin ng d ng Windows Phone có đ c m sau:  u m: o Hi n th đ c thơng báo ho c hình nh, icon lên b n đ o D dàng thay đ i template c a pushpin  H n ch : o S d ng class Pushpin ng d ng Windows phone s nh n c nh báo “obsolete” (t m d ch l i th i) Tuy nhiên, c nh báo không h c nh h ng đ n ng d ng B qua c nh báo đ có th s d ng k t h p v i u n Maps m t u có th ch p nh n đ c M tđ it ng thu c class Pushpin s có thu c tính sau: B ng 3.5: B ng thu c tính c a pushpin - Location: v trí c a pushpin - Content: n i dung c a pushpin - Template: ki u hi n th c a pushpin - Fontsize: c ch hi n th pushpin - Foreground: màu ch hi n th pushpin Trong ng d ng c a đ tài, pushpin đ - Background: màu n n c a pushpin - PositionOrigin: quy đ nh v trí c a pushpin so v i Location c a pushpin, th ng đ c s d ng pushpin có gán thu c tính template c s d ng tính n ng sau:  Hi n th tr m d ng, hi n th m đ u m cu i l trình c a t ng n xe, đ nh v cá nhân, hi n th m b t đ u k t thúc ch c n ng tìm đ ng Hình 3.26: Các pushpin đ c s d ng ng d ng Trang 82 Tuy nhiên, m c đ nh pushpin Windows phone có d ng nh sau: Do đó, vi c thay đ i đ nh d ng (template) c a pushpin u t t y u Ngu n template c a pushpin ph i đ c khai báo ph n resources t i trang xaml N u mu n hi n th n i dung lên template ph n đ nh ngh a template, ta khai báo th ContentPresenter bên th ControlTemplate 3.3.10.2 Di chuy n pushpin Trong ng d ng c a đ tài, đ i v i pushpin đ i di n cho v trí tìm tr m d ng, m b t đ u m k t thúc ch c n ng tìm đ ng, ngồi vi c hi n th , cịn có thêm tính n ng cho phép ng i dùng di chuy n b n đ đ n v trí mong mu n ây đ c xem tính n ng r t quan tr ng, h tr ng i dùng vi c thay đ i v trí b n đ Xét v t ng th , mu n di chuy n m t pushpin, ta ph i b t s ki n drag (nh n, gi di chuy n) c a pushpin đ x lý Tuy nhiên, mơi tr ng l p trình ng d ng Windows phone khơng h tr s ki n drag cho l p trình viên Do đó, em phân tích s ki n drag thành s ki n c u thành theo trình t sau: MouseLeftButtonDown (nh n), MouseMove (di chuy n), MouseLeftButtonUp (th ra) Khi nh n vào pushpin, ng d ng s phân bi t lo i pushpin mà ng i dùng tác đ ng (pushpin đ i di n cho v trí tìm tr m d ng hay đ i di n cho m b t đ u ho c m k t thúc) Sau đó, ng d ng s ch p hình giao di n b n đ t i v trí pushpin đ ng i dùng có th di chuy n đ c pushpin Khi ng i dùng tác đ ng vào pushpin đ di chuy n, m c đ nh b n đ Google maps s di chuy n theo v trí tác đ ng, cịn pushpin s đ ng im Do đó, đ gi i quy t v n đ trên, em s d ng đ i t ng Timer đ “d ng” s di chuy n c a b n đ m t kho ng th i gian cho pushpin di chuy n Khi pushpin đ c di chuy n ta gán l i v trí location cho pushpin Riêng đ i v i pushpin đ i di n cho v trí tìm tr m d ng, vi c di chuy n pushpin đòi h i ph i v l i ph m vi tìm ki m cho phù h p v i ng c nh m i Khi ng i dùng th pushpin ra, b n đ s đ c s d ng tr l i đ ng th i c p nh t l i đ a ch c a đ a m mà pushpin di chuy n đ n thơng qua hàm ReverseGeocode (tìm đ a ch t t a đ ) Riêng đ i v i pushpin đ i di n cho v trí tìm tr m d ng, ph n di chuy n, pushpin đ c t o m i hồn tồn, ph i gán l i s ki n đ có th ti p t c di chuy n l n sau Trang 83 3.3.11 Xây d ng hình ch ti n trình th c hi n Trong ng d ng c a đ tài có nh ng thao tác địi h i ph i m t m t th i gian m i có th hồn thành Ch ng h n nh ch c n ng hi n th tr m d ng, ng d ng ph i m t vài giây m i hi n th lên cho ng i dùng ph i ti n hành x lý load d li u t CSDL Hay, nh ng ch c n ng khác nh tìm ki m tr m d ng, tìm đ ng đi, ng d ng s g i yêu c u đ n server c a Google, nh v y có m t kho ng th i gian mà ng d ng ph i ch server c a Google ph n h i k t qu Kho ng th i gian ch đ i v i ch c n ng c a ng d ng ch m t kho ng vài giây, nhiên, xét v m t s d ng vi c hi n th hình ch ti n trình th c thi đ i v i ng i dùng r t c n thi t S d ng hình ch ti n trình th c thi đem đ n cho ng  Bi t đ  c ti n trình đ i dùng l i ích sau: c th c thi hình ch cịn đ c k t h p v i m t progressbar cho phép ng bi t đ c t l ph n tr m (th i gian) ti n trình th c hi n i dùng  H n ch vi c s d ng nhi u ch c n ng khác liên t c t i m t th i m i u r t có ý ngh a đ i v i ng d ng có k t n i đ truy xu t d li u t xa Trang 84 CH 4.1 K t qu đ t đ NG 4: K T LU N c tài k t h p thành cơng gi a l p trình Windows phone 8, Google maps, Google maps API Web Service CSDL đ t o nên ng d ng tìm đ ng b ng xe buýt ch y n tho i Windows phone v i tính n ng sau:  Xem thơng tin n xe, l trình, tr m d ng b n đ  Tìm ki m tr m d ng theo hai c ch : d a vào mã tr m ho c tìm ki m tr m d ng t m t m v i bán kính ch đ nh  Xác đ nh v trí GPS c a n tho i ng i dùng  Tìm đ ng b ng xe buýt v i nhi u tùy ch n phong phú: t t c k t qu ho c t i u theo b n tiêu chí th i gian nhanh nh t, b nh t, t n chi phí nh t s n nh t Bên c nh đó, đ tài c ng thành cơng vi c chuy n đ i b n đ m c đ nh Bing maps c a Windows phone sang b n đ Google maps c hai ch đ online offline; xây d ng thành công ph ng th c gi i mã t a đ v n d ng thành cơng cơng th c hình c u c a Cosines vi c v hình trịn b n đ đ xác đ nh ph m vi tìm ki m 4.2 Nh ng h n ch  C s d li u v n xe, l trình ch a hồn ch nh, ch a đ y đ  Trên môi tr Pushpin ng l p trình, xu t hi n c nh báo đ i v i u n Maps  M t vài tính n ng, giao di n ch a h p d n đ ch m 4.3 H c ng i s d ng, hi u su t làm vi c ng phát tri n  Hồn thi n h n n a tính n ng theo h dùng ng d s d ng, thân thi n h n v i ng i  Hoàn ch nh CSDL v n xe, tr m d ng  Phát tri n thêm m t s tính n ng m i nh phát tín hi u đ n m t tr m d ng đó, cho phép g i k t qu tìm ki m qua SMS hay trang m ng xã h i,…  ng d ng có th k t h p v i h th ng khác: ch ng h n h th ng camera giao thông, h th ng d báo th i ti t đ giúp ng i dùng có nhi u thơng tin h n v l trình di chuy n Trang 85 TÀI LI U THAM KH O Tài li u tham kh o: [1] Bob Tabor, Clint Rutkas, Larry Lieberman, “Programming Windows Phone 7”, 2010 [2] Bob Tabor, Clint Rutkas, Larry Lieberman, Gabriel Svennerberg, “Windows Phone development for absolute beginners” Trang web/di n đàn tham kh o: [3] www.windowsphonegeek.com/ [4] https://developers.google.com/maps/documentation/webservices/ [5] www.msdn.microsoft.com [6] www.en.wikipedia.org [7] http://developer.nokia.com [8] http://stackoverflow.com/ Trang 86 PH L C M t s hình nh v giao di n c a ng d ng ch c n ng tìm đ ng đi: Ví d : tìm đ ng b ng xe buýt t v trí 97 Võ V n T n, thành ph H Chí Minh đ n 37 Ngơ T t T , qu n Bình Th nh, thành ph H Chí Minh, k t qu nh sau: Ch n l trình Trong danh sách k t qu tr v , ng i dùng ch n m t l trình, ng d ng s quay v trang b n đ đ ng th i hi n th l trình kèm thơng tin liên quan đ n l trình lên b nđ Bên c nh đó, ng i dùng c ng có th thay đ i tiêu chí tìm đ ng b ng cách xác đ nh tùy ch n (option) t i h p ch n tiêu chí Trang 87  K t qu tìm đ ng theo tiêu chí: th i gian nhanh nh t  K t qu tìm đ ng theo tiêu chí: b ng n nh t Trang 88  K t qu tìm đ ng theo tiêu chí: chi phí nh t  K t qu tìm đ ng theo tiêu chí: s n nh t Trang 89  S d ng tính n ng ch đ ng: Trang 90

Ngày đăng: 20/10/2022, 06:16

Hình ảnh liên quan

M cđ tin cy Ta đ xá cđ nh bi A-GPS thng có sai s  nhi u h n GPS.  - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

c.

đ tin cy Ta đ xá cđ nh bi A-GPS thng có sai s nhi u h n GPS. Xem tại trang 27 của tài liệu.
Hình 2.3: So sánh Bingmaps vi Google maps. - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 2.3.

So sánh Bingmaps vi Google maps Xem tại trang 32 của tài liệu.
Hình 2.5: Mơ hình ho tđ ng ca server h tr sd ng b nđ offline   B n tin yêu c u HTTP bao g m các thông tin sau:  - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 2.5.

Mơ hình ho tđ ng ca server h tr sd ng b nđ offline  B n tin yêu c u HTTP bao g m các thông tin sau: Xem tại trang 39 của tài liệu.
Hình 2.9: Kin trúc Webservice - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 2.9.

Kin trúc Webservice Xem tại trang 41 của tài liệu.
Theo đó, đv hình trịn thì cn phi xá cđ nh 360 đ im trê nđ ng tròn. Mi đ im nh  v y s  cách tâm hình trịn là d, s   đo góc (brng) c a đi m đó so v i ph ng B c c a  tâm hình trịn s  dao  đng t  00, 10,….đn 3600  - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

heo.

đó, đv hình trịn thì cn phi xá cđ nh 360 đ im trê nđ ng tròn. Mi đ im nh v y s cách tâm hình trịn là d, s đo góc (brng) c a đi m đó so v i ph ng B c c a tâm hình trịn s dao đng t 00, 10,….đn 3600 Xem tại trang 56 của tài liệu.
Hình 2.12: L cđ 11 bc mã hóa thành ph n points - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 2.12.

L cđ 11 bc mã hóa thành ph n points Xem tại trang 58 của tài liệu.
Hình 2.13: Sđ 11 bc g ii mã ta đ - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 2.13.

Sđ 11 bc g ii mã ta đ Xem tại trang 62 của tài liệu.
Hình 2.7: L cđ xây d ng ph ngth c g ii mã ta . - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 2.7.

L cđ xây d ng ph ngth c g ii mã ta Xem tại trang 63 của tài liệu.
Hình 3.1: Sđ ch cn ng ca ngd ngCh n m t tr m d ng  - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.1.

Sđ ch cn ng ca ngd ngCh n m t tr m d ng Xem tại trang 65 của tài liệu.
Hình 3.2: Sđ liên kt c sd li uc an gd ng - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.2.

Sđ liên kt c sd li uc an gd ng Xem tại trang 66 của tài liệu.
Hình 3.3: Mơ hình client – server ca ngd ng - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.3.

Mơ hình client – server ca ngd ng Xem tại trang 69 của tài liệu.
Hình 3.4: Giao din trang ch t rc và sau khi ch ntu yn xe - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.4.

Giao din trang ch t rc và sau khi ch ntu yn xe Xem tại trang 70 của tài liệu.
Hình 3.8: Giao din trang thơng tin t rc và sau khi ch ntu yn xeTrang ch   - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.8.

Giao din trang thơng tin t rc và sau khi ch ntu yn xeTrang ch Xem tại trang 72 của tài liệu.
Hình 3.10: Giao din trang tr md ngTrang ch   - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.10.

Giao din trang tr md ngTrang ch Xem tại trang 73 của tài liệu.
Hình 3.11: Giao din hin th danh sách tr md ng lên b nđ - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.11.

Giao din hin th danh sách tr md ng lên b nđ Xem tại trang 74 của tài liệu.
Hình 3.13: Sđ xây d ng hàm vl trình ca tu yn xe buýt lên b nđ .Trang ch   - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.13.

Sđ xây d ng hàm vl trình ca tu yn xe buýt lên b nđ .Trang ch Xem tại trang 75 của tài liệu.
Hình 3.12: Sđ phân tích ch cn ngh in th l trình lên b nđ - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.12.

Sđ phân tích ch cn ngh in th l trình lên b nđ Xem tại trang 75 của tài liệu.
Hình 3.14: Giao din hin th l trình di chuy nca tu yn xe lên b nđ - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.14.

Giao din hin th l trình di chuy nca tu yn xe lên b nđ Xem tại trang 76 của tài liệu.
Hình 3.15: Hin t hv trí ngi dùng lên b nđ - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.15.

Hin t hv trí ngi dùng lên b nđ Xem tại trang 77 của tài liệu.
Hình 3.16: Sđ phân tích ch cn ng tìm k im tr md ng theo mã tr m.ng d ng đc kích ho t  - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.16.

Sđ phân tích ch cn ng tìm k im tr md ng theo mã tr m.ng d ng đc kích ho t Xem tại trang 78 của tài liệu.
Hình ch cn ng tìm k im tr md ng thơng qua mã t rm - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình ch.

cn ng tìm k im tr md ng thơng qua mã t rm Xem tại trang 79 của tài liệu.
Hình 3.18: Sđ phân tích ch cn ng tìm k im tr md ngt mt đ im vi bán kínhReference  - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.18.

Sđ phân tích ch cn ng tìm k im tr md ngt mt đ im vi bán kínhReference Xem tại trang 80 của tài liệu.
Hình 3.19: Sđ phân tích ch cn ng n hp đa ch ti hp tìm k im - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.19.

Sđ phân tích ch cn ng n hp đa ch ti hp tìm k im Xem tại trang 81 của tài liệu.
Hình 3.20: Xá cđ nhv trí tìm tr md ng   ánh d u tr c ti p v  trí tìm tr m d ng trên b n  đ - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.20.

Xá cđ nhv trí tìm tr md ng  ánh d u tr c ti p v trí tìm tr m d ng trên b n đ Xem tại trang 82 của tài liệu.
Hình 3.21: Giao din hin th kt qu tìm tr md ng - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.21.

Giao din hin th kt qu tìm tr md ng Xem tại trang 83 của tài liệu.
Hình 3.22: Sđ phân tích ch cn ng tìm đ ng đ ib ng xe buýt - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.22.

Sđ phân tích ch cn ng tìm đ ng đ ib ng xe buýt Xem tại trang 85 của tài liệu.
Hình 3.23: Xá cđ nh đi mb tđ u và kt thúc b ng cách n hp đa ch tr cti p. - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.23.

Xá cđ nh đi mb tđ u và kt thúc b ng cách n hp đa ch tr cti p Xem tại trang 86 của tài liệu.
Hình 3.25: Giao din trang downloa db nđ - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

Hình 3.25.

Giao din trang downloa db nđ Xem tại trang 92 của tài liệu.
3.3.11 Xây d ng màn hình ch tin trình th ch in - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

3.3.11.

Xây d ng màn hình ch tin trình th ch in Xem tại trang 95 của tài liệu.
M ts hình nhv giao din ca ngd ng trong ch cn ng tìm đ ng đi: - 0947XÂY DỰNG ỨNG DỤNG TÌM ĐƯỜNG ĐI BẰNG XE BUÝT TỎI ƯU THEO NHIÈU TIÊU CHÍ TRÊN ĐIỆN THOẠI WINDOWS PHONE 8

ts.

hình nhv giao din ca ngd ng trong ch cn ng tìm đ ng đi: Xem tại trang 98 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan