Parse platform Parse SDK-查询的类似类型

Parse platform Parse SDK-查询的类似类型,parse-platform,similarity,Parse Platform,Similarity,我在iOS和android中都有一个应用程序,我在这两个系统中都能得到用户的位置!在android中使用iOS和谷歌地图的CoreLocation。。。在位置检索之后,我们采用反向地理编码,从中提取出位置信息。。。一旦我们这样做了,我们将执行equalTo查询以查找特定位置的照片 问题是,在某些情况下,iOS的位置与android略有不同!例如,iOS中的“Palaiochri”和android中的“Palaeochri”!注意这两个字母是不同的 因此,虽然两个设备中的位置相同,但equalTo

我在iOS和android中都有一个应用程序,我在这两个系统中都能得到用户的位置!在android中使用iOS和谷歌地图的CoreLocation。。。在位置检索之后,我们采用反向地理编码,从中提取出位置信息。。。一旦我们这样做了,我们将执行equalTo查询以查找特定位置的照片

问题是,在某些情况下,iOS的位置与android略有不同!例如,iOS中的“Palaiochri”和android中的“Palaeochri”!注意这两个字母是不同的

因此,虽然两个设备中的位置相同,但equalTo查询显然会失败

我想知道的是,是否有任何方法可以创建一种查询类型,而不检查是否相等。相反,我们检查相似性


请注意,我们确实使用云代码,因此任何服务器端解决方案都是可以接受和首选的

显然,位置名称不能保证唯一性。两种可能的解决办法:

  • 确保数据库的一致性
  • 为这些位置存储一个
    地质点。当您的数据库中已有
    Paliochori
    且用户发现自己在
    Paleochori
    中时,在保存新对象之前,运行
    whereNear()
    查询以查看该位置是否有近处

    如果结果在合理半径范围内,请询问用户:您的意思是
    ?用户可能会识别出具有类似名称的位置,并点击它。这样可以避免重复

  • 使用一致的位置数据库

  • 一旦您拥有
    lat/lng
    ,您就可以使用googleplacesapi查询该位置附近的位置。谷歌将返回一个
    Place
    对象,该对象具有唯一的
    placeId
    ,您可以将其存储在数据库中。id保证保持不变,并且可以可靠地用于您的查询。

    我对应用程序开发一无所知,所以只提供一条评论,但在我看来,问题不在于比较,而在于反向地理编码。你说“我们采用反向地理编码”,那么你的geode源有两个不同的Palaiochori地理值吗?@Toby我们对每个操作系统使用两个不同的位置SDK,苹果和谷歌的,所以我想有一些不同是合乎逻辑的。。。请注意,仅使用一个,不是一个选项!