因為app原因,服務(wù)器返回的數(shù)據(jù)中存在經(jīng)緯度。
但是在用MJExtension映射到model對象中的時候,精度出現(xiàn)了偏差
比如 104.586936 會變?yōu)?104.58693600000000001
然后再轉(zhuǎn)成火星坐標(biāo),精度會有一些不同,暫時不知道該如何解決。
// ================================
已解決:
之前創(chuàng)建的model對象是用double類型存儲的數(shù)據(jù), 如下:
@property (nonatomic, assign) double latitude;
解決方法:
改為用 NSNumber
儲存該數(shù)據(jù):
@property (nonatomic, strong) NSNumber *latitude;
使用時可以:
Person *person = [Person alloc] init];
double lat = person.latitude.doubleValue;
其他需要高精度的數(shù)據(jù)都可以用此方法來處理, 可以避免精度丟失.
真實結(jié)果是精度該丟失還是丟失,ㄟ( ▔, ▔ )ㄏ,但是在地圖上顯示時這點精度丟失基本不會影響定位點在地圖上的位置,所以還是可以用的。
現(xiàn)在知道的解決方案就是把經(jīng)緯度用字符串儲存和發(fā)送,然后使用其他手段轉(zhuǎn)成double
使用,可以谷歌一下。
以上.