Đối với bản đồ Trung Quốc trên iOS 6, có vẻ như MapKit chọn nhà cung cấp bản đồ dựa trên vị trí thiết bị của bạn. Nếu bạn đang ở Trung Quốc, nó sẽ sử dụng bản đồ AutoNavi và nếu không nó sẽ sử dụng bản đồ mặc định của Apple. Để làm phức tạp mọi thứ, bản đồ AutoNavi dường như được chuyển đổi theo cùng cách mà các bản đồ của Google trên iOS 5, trong khi các bản đồ mặc định của Apple không được chuyển đổi.Làm thế nào để đối phó với các bản đồ không phù hợp của Trung Quốc trên iOS 6?
Bằng cách chuyển đổi Tôi đang nói về thực tế là all maps in China are transformed, mặc dù điều này không đúng. Thay vào đó, một số bản đồ ở Trung Quốc được chuyển đổi, trong khi một số thì không.
Biến đổi này gây khó khăn cho việc đặt chú thích một cách chính xác trên bản đồ vì bản đồ thường được bù khoảng 500 mét. Vì không thể đảo ngược biến đổi của bản đồ thực tế, giải pháp là áp dụng cùng độ lệch cho các chú thích.
There exists non-trivial ways to inverse the transform, at least for limited areas. Sự cố trong iOS 6 là biết liệu bản đồ có được chuyển đổi để có thể bù đắp chú thích một cách thích hợp hay không. Trên iOS 5, vấn đề này không tồn tại vì các bản đồ được chuyển đổi đã được sử dụng nhất quán.
Bản đồ Thượng Hải bên dưới minh họa tình huống (chênh lệch chuyển đổi thực tế không được minh họa).
Vì vậy, sẽ có cách nào biết được trong thời gian chạy dù chuyển hoặc bản đồ không biến Trung Quốc được sử dụng? Các ý tưởng khác để giải quyết vấn đề này?
Chỉnh sửa: Lưu lượng mạng định tuyến thông qua proxy tại Trung Quốc thay đổi vị trí bản đồ trong trình giả lập, do đó, lựa chọn nhà cung cấp bản đồ phải dựa trên IP.
Quyết định bản đồ nào sẽ phân phối dựa trên vị trí địa lý của thiết bị yêu cầu hoặc ngôn ngữ được đặt cho thiết bị? Nếu nó dựa trên ngôn ngữ, liệu có thể đặt ngôn ngữ khi yêu cầu bản đồ để có được kết quả nhất quán không? – Snips
Thay đổi ngôn ngữ thiết bị không tạo sự khác biệt, do đó, nó dường như dựa trên vị trí địa lý sử dụng IP hoặc dịch vụ vị trí nội bộ. –