2013-01-08 34 views
10

Windows Phone 8 có trong số GeoCoordinateWatcher có trong Windows Phone 7, nhưng cũng có Geolocator, cả hai đều thực hiện cùng chức năng, tức là cho phép bạn 'xem' các thay đổi về vị trí địa lý. Tôi không thể tìm thấy bất kỳ thông tin nào về việc liệu GeoCoordinateWatcher có bị ngừng sử dụng hay không, dù Geolocator hiện có được sử dụng hay không hoặc sự khác biệt giữa hai loại.Windows Phone 8 GeoCoordinateWatcher vs Geolocator

Bất kỳ ý tưởng nào?

Trả lời

7

Đơn giản - nếu bạn không cần hoặc lên kế hoạch phiên bản cho WP7, chỉ dành cho WP8, sau đó sử dụng Geolocator - nó có cấu hình tốt hơn GeoCoordinateWatcher. Hoặc, có một giải pháp khác mà tôi đã sử dụng trong ứng dụng của mình, sử dụng Dependency Injection và triển khai giao diện chung cho dịch vụ vị trí địa lý của bạn, sẽ được triển khai bằng cách sử dụng Geolocator trong phiên bản WP8 và sử dụng GeoCoordinateWatcher trong WP7.

+0

Cảm ơn câu trả lời của bạn - Theo cách nào tốt hơn GeoCoordinateWatcher? Nếu tôi đi đến rắc rối của tiêm phụ thuộc của dịch vụ này - Tôi muốn biết những lợi ích là gì! – ColinE

+0

Điều đầu tiên tôi nhớ - bạn có thể đặt thuộc tính ReportInterval trên Geolocator, tần suất nhận bản cập nhật vị trí. –

2

Ngoài ra, Geolocator có thể được sử dụng trong nền trong khi GeoCoordinateWatcher không thể.

Tôi đã viết về nó khi SDK WP8 bị rò rỉ. Bài viết của tôi là dưới đây nếu bạn muốn có một cái nhìn nhưng tôi tin rằng các tài liệu MSDN nên bao gồm nó ở đâu đó là tốt.

http://www.adambenoit.com/development/continuous-location-tracking-windows-phone-8-part-2-background/

Hy vọng thông tin bổ sung này hữu ích.

+0

Tôi sử dụng GeoCoordinateWatcher trong ứng dụng WP7 của mình trong tác vụ nền và hoạt động tốt. Tôi chỉ phải sử dụng đồng bộ nguyên thủy để đợi GeoCoordinateWatcher khởi tạo. –

+1

Tôi thành thật không bao giờ xem xét cách tiếp cận đó. Tốt để biết. Cảm thấy tự do để bỏ phiếu cho câu trả lời của tôi, tôi không ngại :) –

+0

Tôi cũng có ấn tượng đó, nhưng có vẻ như GeoCoordinateWatcher có thể được sử dụng để theo dõi nền giống như cách Geolocator có thể. http://www.developer.nokia.com/Community/Wiki/A_Windows_Phone_8_Run_Tracking_App_in_100_Lines_of_Code! http://msdn.microsoft.com/ru-ru/jj945729 Tôi nghĩ rằng sự nhầm lẫn ban đầu là do bài viết này, mặc dù không có khái niệm rõ ràng về điều đó. http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj662935(v=vs.105).aspx –

0

Không chỉ chúng có cùng chức năng, nhưng Geolocator thực sự nhanh, tôi đã thực hiện một số thử nghiệm, và trong khi một GeoCoordinateWatcher cũ tốt được vị trí của bạn trong khoảng 3 giây trong một khu vực thô, GeoLocator mất khoảng 0,3 giây để xác định vị trí bạn. Vì vậy, giành chiến thắng cho GeoLocator.

Bằng cách này, tôi nghĩ rằng bằng cách "Geolocator có thể chạy trong nền", họ đề cập đến sử dụng nó như họ sử dụng trong ví dụ này: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj662935(v=vs.105).aspx

Đó là, nếu không có sự hạn chế của một Agent Background. Tôi khuyên bạn nên bắt đầu áp dụng GeoLocator, tắt khóa học, bạn đang nhắm mục tiêu cả WP 7.8 và WP8

Các vấn đề liên quan