1

我的应用程序使用点查询根据用户的当前位置查找商店。

public class Store extends AbstractNode {

    @Indexed(indexType = IndexType.POINT, indexName = "ErrandLocation") 
    private String wkt;

   public void setLocation(float lat, float lon) {
      this.wkt = String.format("POINT( %.2f %.2f )",lat,lon);
   }
}

使用 shop.setLocation (12, 12) 保存商店;我使用 neo4j 浏览器检查我的节点,wkt 值更改为 POINT(56.34 -2.80)。

我不明白为什么值会从 POINT (12.00, 12.00) 变为此值。

4

1 回答 1

0

当您打电话时,您正在调用您在问题中显示shop.setLocation的方法,该setLocation方法存储空间类所需的格式正确的 WKT 字符串。:

public void setLocation(float lat, float lon) {
  this.wkt = String.format("POINT( %.2f %.2f )",lat,lon);
}

如果您出于自己的目的需要访问原始纬度/经度,请将它们放在不同的属性中,它们也会被持久化。

于 2015-01-20T17:22:51.973 回答