"Geofencing" luôn xuất hiện, kể từ iOS 4 dưới dạng "Giám sát khu vực". Nó sử dụng kiểm tra khoảng cách để xem bạn đã nhập vòng kết nối chưa. Đây không phải là địa hình thực sự, vì việc định vị địa lý thực sự đang kiểm tra xem một điểm có nằm trong đa giác hay không (được gọi là điểm trong đa giác).
Kể từ iOS 6, hiện tại không có gì giống với theo dõi vùng sử dụng điểm trong đa giác. Để thực hiện việc định vị địa lý thực sự, bạn sẽ phải sử dụng kết hợp theo dõi Vùng và GPS.Không có tài liệu của Apple cho việc định vị địa lý vì CoreLocation không hỗ trợ nó.
Nếu bạn định sử dụng phương pháp tiếp cận điểm-trong-nhiều, tôi khuyên bạn nên sử dụng phương pháp đúc ray. Có một lớp Objective-C thực hiện nó rất tốt. Nó được gọi là objc-BorderPatrol.
Đối với việc gửi hàng rào từ một dịch vụ web, có thể thực hiện điều gì đó tương tự với API phát trực tuyến của Twitter, nhưng điều đó có thể quá chuyên sâu. Tốt hơn nên sử dụng Vị trí quan trọng để cập nhật hàng rào của bạn. Nếu bạn định gửi hàng rào từ dịch vụ web, tôi khuyên bạn nên sử dụng MySQL hoặc PostGRE SQL vì cả hai đều có phần mở rộng không gian địa lý thực sự tốt.
Một vài lưu ý: ->-[CLRegion containsCoordinate:]
không bao giờ được gọi bởi bất kỳ đối tượng CoreLocation nào. Tất cả các kiểm tra khoảng cách là nội bộ. -> Cập nhật vị trí quan trọng mỗi 500m hoặc 5 phút, tùy điều kiện nào đến trước. Vị trí quan trọng sử dụng địa chỉ IP từ tháp di động để xác định vị trí. -> Geofences và khu vực có thể chồng lên nhau, theo dõi điều này.
Nguồn
2013-07-22 19:16:49
Guys, mọi gợi ý? – subharb