|
|
|
|
|
|
351
|
} else {
|
351
|
} else {
|
|
352
|
let map_a = a.coord.map_coord_center();
|
352
|
let map_a = a.coord.map_coord_center();
|
|
353
|
let map_b = b.coord.map_coord_center();
|
353
|
let map_b = b.coord.map_coord_center();
|
|
354
|
- let center_diff_a = (view.center.x - map_a.x).hypot(view.center.y - map_a.y);
|
|
|
|
355
|
- let center_diff_b = (view.center.x - map_b.x).hypot(view.center.y - map_b.y);
|
|
|
|
|
|
354
|
+ let diff_xa = (view.center.x - map_a.x).abs();
|
|
|
|
355
|
+ let diff_xa = if diff_xa > 0.5 { 1.0 - diff_xa } else { diff_xa };
|
|
|
|
356
|
+ let diff_xb = (view.center.x - map_b.x).abs();
|
|
|
|
357
|
+ let diff_xb = if diff_xb > 0.5 { 1.0 - diff_xb } else { diff_xb };
|
|
|
|
358
|
+ let diff_ya = view.center.y - map_a.y;
|
|
|
|
359
|
+ let diff_yb = view.center.y - map_b.y;
|
|
|
|
360
|
+ let center_diff_a = (diff_xa * diff_xa) + (diff_ya * diff_ya);
|
|
|
|
361
|
+ let center_diff_b = (diff_xb * diff_xb) + (diff_yb * diff_yb);
|
|
356
|
|
362
|
|
|
357
|
center_diff_b.partial_cmp(¢er_diff_a).unwrap_or(Ordering::Equal)
|
363
|
center_diff_b.partial_cmp(¢er_diff_a).unwrap_or(Ordering::Equal)
|
|
358
|
}
|
364
|
}
|