Ngay cả khi bắt đầu GeoCoordinateWatcher
, bạn sẽ nhận được NoData
nếu cảm biến bị tắt. Những gì bạn nên thử sử dụng thay thế là TryStart:
GeoCoordinateWatcher g = new GeoCoordinateWatcher();
MessageBox.Show(g.TryStart(false,TimeSpan.FromSeconds(30)).ToString());
Nếu trả về False
, điều đó có nghĩa là cảm biến bị vô hiệu hóa. Nếu nó trả về True
, nó được kích hoạt. Đặt khoảng thời gian chờ thích hợp (trong đoạn mã trên tôi đang sử dụng 30 giây) và ủy quyền quy trình này cho một chuỗi phụ, vì vậy nó sẽ không treo giao diện người dùng.
Nguồn
2011-02-03 15:04:35
Mã này không hoạt động. Luôn hiển thị "Không có dữ liệu"! – user598328
Bạn có thể cần phải thực sự gọi 'Bắt đầu()' trên trình xem trước và xem các thay đổi trạng thái (đó là lý do tại sao tôi cung cấp cho bạn các liên kết để đọc thêm). Nếu bạn đang chạy trên trình mô phỏng, bạn sẽ gần như chắc chắn nhận được trạng thái 'NoData' mọi lúc, đó là một lý do tốt để sử dụng Trình mô phỏng GPS của Windows Phone, kết thúc tốt đẹp các dịch vụ định vị. –