一.问题描述

创建 MySQL 表时,您应当特别注意 lat 和 lng 属性。

我们都知道经纬度范围是-180~180。但是经纬度有可能是这样的值40.69847032728747。

肯定是存储数据精度越高,最终位置定位越准确。但是考虑到数据库资源以及可定位到精准性.

二.解决方案

根据谷歌官方的建议,鉴于 Google Maps 目前的缩放能力,您只需要精确到小数点后六位数。为了让表占用的存储空间降至最低,您可以将 lat 和 lng 属性指定为大小是 (10,6) 的浮点数。这样,这些字段将会存储小数点后 6 位数以及小数点前最多 4 位数,如 -123.456789 度。

经纬度的定义字段类型使用 decimal(10,6) , 在Java 中映射成Double.

原文一
原文二

Logo

更多推荐