Windows

GPS, API ตำแหน่งและบริการเสริมจากระบบเว็บ: Windows Phone Apps Development Tutorial - 25

Google Maps Javascript API Tutorial 1 - Displaying Simple Map with a Marker

Google Maps Javascript API Tutorial 1 - Displaying Simple Map with a Marker
Anonim

เราได้เรียนรู้เกี่ยวกับ InputScopes ในบทแนะนำล่าสุดของเราซึ่งเป็นส่วนหนึ่งของชุดพัฒนา Mango App สำหรับ Windows Phone 7.5 ในบทเรียนนี้เราจะเรียนรู้เกี่ยวกับวิธีเรียกดูตำแหน่งทั่วโลกของโทรศัพท์เช่นละติจูดและลองจิจูดและเรียกใช้บริการเว็บที่จะแก้ไขเส้นรุ้งและเส้นลองในรูปแบบเมืองรัฐและประเทศ

Windows โทรศัพท์ 7 มีส่วนติดต่อ GPS เมื่อใช้งานร่วมกับ API Location Service ของ Windows phone 7 เราสามารถใช้เพื่อกำหนดละติจูดและลองจิจูดเช่นตำแหน่งปัจจุบันของโทรศัพท์ จากนั้นเราสามารถใช้ค่าละติจูดและลองจิจูดนี้เพื่อกำหนดเมืองรัฐและประเทศ เราใช้บริการเว็บเพื่อแก้ไขเมืองรัฐและประเทศ บริการเว็บอาจเป็นวิธีการที่ทำงานผ่านทางอินเทอร์เน็ต เว็บเซอร์อยู่บนเซิร์ฟเวอร์และชื่อของเมธอดจะถูกเปิดเผยพร้อมกับพารามิเตอร์ที่จะยอมรับและข้อมูลประเภทใดที่จะส่งกลับ เราสามารถเรียกใช้บริการเว็บดังกล่าวผ่านทางอินเตอร์เน็ตเรียกดูผลการค้นหาและทำสิ่งที่มีความหมายกับข้อมูลที่ได้รับ

ลองใช้ประสบการณ์การใช้งานจริงได้ทันที!

สร้างโครงการ Windows Phone 7 ใหม่ด้วยชื่อที่ไม่ซ้ำกันเช่น `GPSDemo` คัดลอกและวางรหัส xaml ต่อไปนี้ในตารางแผงเนื้อหา

HorizontalAlignment = "Left"

Margin = "12,23,0,0"

Name = "textBlock1"

ข้อความ = ""

VerticalAlignment = "ด้านบน"

Width = "423" />

<เนื้อหาปุ่ม = "Find Me"

ความสูง = "72"

HorizontalAlignment = "Left"

Margin = "275,59,0,0"

ชื่อ = "button1"

VerticalAlignment = "ด้านบน"

Width = "160"

คลิก = "button1_Click " />

ด้วยรหัสที่ให้ไว้ด้านบนเราจะสร้าง textblock ว่างเปล่าและปุ่มที่มีคุณสมบัติเนื้อหาเปลี่ยนเป็น Find Me ไปที่เหตุการณ์ button1_Click ก่อนที่เราจะเขียนโค้ดสำหรับเรื่องนี้ถึงแม้เราจะต้องเพิ่มการอ้างอิงไป คลิกขวาที่ชื่อโครงการใน Explorer โซลูชันและเลือก Add Reference จากเมนู ภายใต้แท็บ `.Net` เลื่อนลงและเลือกชื่อคอมโพเนนต์ `system.Device` คลิกตกลงเพื่อเพิ่มไฟล์ dll ลงในโครงการของคุณ พิมพ์บรรทัดถัดไปของรหัสต่อไปนี้หลังจากที่ใช้คำสั่งล่าสุดใน MainPage.xaml.cs

โดยใช้ System.Device.Location

ต่อไปเราจะสร้างการอ้างอิงไปยังบริการเว็บ ในการดำเนินการนี้ให้คลิกขวาที่ชื่อโครงการและเลือกเพิ่มการอ้างอิงบริการจากเมนู พิมพ์ URL ต่อไปนี้ `//msrmaps.com/TerraService2.asmx` ในช่อง Address address และคลิก `Go` เมื่อมีการระบุบริการเว็บผ่านทางอินเทอร์เน็ตแล้วคุณจะเห็นรายการการดำเนินงานที่พร้อมใช้งานภายใต้บริการเว็บนั้น เปลี่ยน namespace จาก ServiceReference1 เป็น myTerraService และคลิกปุ่ม OK Visual Studio สร้างคลาสพร็อกซีที่คุณจะใช้เพื่อทำงานกับบริการเว็บ เมื่อเสร็จแล้วคุณจะได้รับการตั้งค่าให้ทำงานร่วมกับส่วนติดต่อ GPS ของโทรศัพท์ คัดลอกและวางบรรทัดต่อไปนี้ของรหัสในเหตุการณ์ button1_Click

GeoCoordinateWatcher myWatcher = new GeoCoordinateWatcher ();

var myPosition = myWatcher.Position;

ละติจูดแฝด = 18.916;

double longitude = 72.9;

if (! myPosition.Location.IsUnknown)

(

ละติจูด = myPosition.Location.Latitude =

ลองจิจูด = myPosition.Location.Longitude;

}

myTerraService.TerraServiceSoapClient client = new myTerraService.TerraServiceSoapClient ();

client.ConvertLonLatPtToNearestPlaceCompleted + = new EventHandler (client_ConvertLonLatPtToNearestPlaceCompleted);

client.ConvertLonLatPtToNearestPlaceAsync (new myTerraService.LonLatPt {Lat = ละติจูดลอง = ลองจิจูด});

คัดลอกและวางวิธีการต่อไปนี้หลังจากเครื่องหมายวงเล็บปีกกาสุดท้ายของปุ่ม button1_Click

void client_ConvertLonLatPtToNearestPlaceCompleted (ผู้ส่งวัตถุ myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)

{

textBlock1.Text = e.Result;

}

ตอนนี้เรามาดูกันว่ารหัสถูกต้องตรงไหน ตอนแรกเราได้รับค่าสำหรับละติจูดและลองจิจูดโดยการสร้างอ็อบเจ็กต์ของคลาส FeoCoordinateWatcher ที่เรียกว่า myWatcher แล้วเข้าถึงละติจูดและลองจิจูดโดยการเข้าถึงละติจูดและลองจิจูดคุณสมบัติของตำแหน่ง myPosition.Location ถัดไปเราจะสร้างการโทรแบบอะซิงโครนัสกับบริการเว็บผ่านละติจูดและลองจิจูด สุดท้ายเราก็แสดงผลของ webservice ใน textblock แอ็พพลิเคชั่นยังคงตอบรับได้แม้จะมีการรับผลจากบริการเว็บ

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ GPS, Location API และ Calling Web Services โปรดเยี่ยมชม www.msdn.com

สรุปนี้ ชุดพัฒนาแอพพลิเคชัน Mango App ของ Windows Phone 7.5

  1. ลิงค์ไปยังทุกส่วนของชุดการสอนนี้:
  2. เรียนรู้การพัฒนา Windows Phone 7.5 Mango Applications: ส่วนที่ 1
  3. การพัฒนา Windows Phone 7.5 Mango Applications: Part 2 (HelloWorld app)
  4. การพัฒนา Windows Phone 7.5 Apps: ส่วนที่ 3; ตัวแปร, ประเภทข้อมูลและการกำหนดค่า
  5. การพัฒนา Apps Mango ของ Windows 7, ส่วนที่ 4: if statement
  6. การพัฒนา Apps 7.5 Mango ของ Windows, ส่วนที่ 5: Operators, expression, statements
  7. การพัฒนา Mango Apps ของ Windows 7, ส่วนที่ 6: เปลี่ยนคำชี้แจง
  8. การพัฒนา Windows Phone Mango Apps ส่วนที่ 7: สำหรับการทำซ้ำ
  9. การใช้ Simple Helper Methods ขณะพัฒนา Windows Phone 7.5 Mango Apps: ส่วนที่ 8
  10. การทำงานกับสตริง: Windows Phone 7.5 Mango Apps Development - Part 9 < Windows Phone 7.5 การพัฒนาแอพพลิเคชัน Mango - ตอนที่ 10
  11. การทำความเข้าใจและการสร้างชั้นเรียน: Windows Phone 7.5 การพัฒนาแอพพลิเคชัน Mango - ตอนที่ 11
  12. การทำงานร่วมกับชั้นเรียน: Windows Phone 7.5 การพัฒนาแอพพลิเคชัน Mango - ตอนที่ 12
  13. การทำความเข้าใจเกี่ยวกับช่องว่าง: Windows Phone 7.5 Mango Apps Development - Part 13
  14. การเก็บรวบรวมวัตถุ: Windows Phone Apps การพัฒนา Turorial - ส่วนที่ 14
  15. การทำความเข้าใจเกี่ยวกับ XAML: Windows Phone Apps การพัฒนา Turorial - ส่วนที่ 15
  16. Silverlight Layout Controls: Windows โทรศัพท์ บทนำสู่การพัฒนา Apps - ส่วนที่ 16
  17. XAML Event And Input Controls: บทแนะนำการพัฒนา Windows Phone Apps - ส่วนที่ 17
  18. การทำงานกับ Image Control: บทสอนการพัฒนา Windows Phone Apps - ส่วนที่ 18
  19. การทำงานกับลักษณะและทรัพยากร: Windows คู่มือการพัฒนาแอพพลิเคชันการใช้โทรศัพท์ - ตอนที่ 19
  20. ใช้ชุดรูปแบบและธีมเพื่อควบคุม: Windows Phone Apps Development Tutorial - ตอนที่ 20
  21. การนำทางระหว่างหน้า XAML: บทแนะนำการพัฒนา Windows Phone Apps - ตอนที่ 21
  22. การทำงานกับแอพพลิเคชันบาร์: Windows Phone Apps Development Tutorial - ตอนที่ 22
  23. การใช้ Canvas เป็นกล่องโต้ตอบ: บทแนะนำการพัฒนา Windows Phone Apps - ส่วนที่ 23
  24. การเพิ่ม Inputscopes ต่างๆ: บทแนะนำการพัฒนา Windows Phone Apps - ส่วนที่ 24
  25. GPS, Location API และ Calling บริการทางเว็บ: Windows Phone Apps Development Tutorial - 25.