Foursquare 场馆搜索api返回具有不正确lat/lon的重复场馆
我执行了场地搜索,结果返回了一个重复的场地。除了场馆id和lat/lon信息外,重复的场馆是相同的。在foursquare.com上执行相同的搜索,不会显示重复项。如何排除重复项 下面是API调用(减去秘密): 结果:Foursquare 场馆搜索api返回具有不正确lat/lon的重复场馆,foursquare,Foursquare,我执行了场地搜索,结果返回了一个重复的场地。除了场馆id和lat/lon信息外,重复的场馆是相同的。在foursquare.com上执行相同的搜索,不会显示重复项。如何排除重复项 下面是API调用(减去秘密): 结果: { meta: { code: 200 } notifications: [ { type: "notificationTray" item: { unreadCount:
{
meta: {
code: 200
}
notifications: [
{
type: "notificationTray"
item: {
unreadCount: 0
}
}]
response: {
venues: [
{
id: "4e4dc886bd41b76bef93082e"
name: "Starbucks Coffee"
contact: {
phone: "5407209145"
formattedPhone: "(540) 720-9145"
}
location: {
address: "1495 Stafford Market Pl"
lat: 38.47310969662029
lng: -77.38591645407749
distance: 1256
postalCode: "22556"
city: "Stafford"
state: "VA"
country: "United States"
}
categories: [
{
id: "4bf58dd8d48988d1e0931735"
name: "Coffee Shop"
pluralName: "Coffee Shops"
shortName: "Coffee Shop"
icon: {
prefix: "https://foursquare.com/img/categories/food/coffeeshop_"
sizes: [ 32 44 64 88 256 ]
name: ".png"
}
primary: true
}]
verified: false
stats: {
checkinsCount: 13
usersCount: 11
tipCount: 0
}
specials: {
count: 0
items: [ ]
}
hereNow: {
count: 0
}
},
{
id: "4b8dd66ef964a520071033e3"
name: "Starbucks"
contact: {
phone: "5407209145"
formattedPhone: "(540) 720-9145"
}
location: {
address: "1495 Stafford Market Place"
crossStreet: "Garrisonville Road"
lat: 38.470214117289444
lng: -77.41142749786377
distance: 3388
postalCode: "22554"
city: "Stafford"
state: "VA"
country: "United States"
}
categories: [
{
id: "4bf58dd8d48988d1e0931735"
name: "Coffee Shop"
pluralName: "Coffee Shops"
shortName: "Coffee Shop"
icon: {
prefix: "https://foursquare.com/img/categories/food/coffeeshop_"
sizes: [ 32 44 64 88 256 ]
name: ".png"
}
primary: true
}]
verified: true
stats: {
checkinsCount: 1885
usersCount: 522
tipCount: 14
}
url: "http://www.starbucks.com/"
specials: {
count: 0
items: [ ]
}
hereNow: {
count: 0
}
menu: {
url: "https://foursquare.com/v/starbucks/4b8dd66ef964a520071033e3/menu"
mobileUrl: "https://foursquare.com/v/4b8dd66ef964a520071033e3/device_menu"
}
},
{
id: "4d87c7bba98841bd5eaf3055"
name: "Starbucks"
contact: {
phone: "5407209145"
formattedPhone: "(540) 720-9145"
twitter: "starbucks"
}
location: {
address: "1495 Stafford Market Place"
lat: 38.50188672
lng: -77.37500964
distance: 3688
postalCode: "22556"
city: "Stafford"
state: "Virginia"
country: "United States"
}
categories: [ ]
verified: true
stats: {
checkinsCount: 17
usersCount: 11
tipCount: 0
}
specials: {
count: 0
items: [ ]
}
hereNow: {
count: 0
}
}
}
}
第二个场地id=4b8dd66ef964a520071033e3是实际场地。另外两个是重复的。我将排除第一个结果,因为它的键/值为“verified:false”。 已验证:true表示所有者已声明 然后我要指出,第二个结果优于第三个结果,因为: 1.它有一个类别 2.支票数目更高。在这种情况下,要高得多。 3.它有一个网站链接(url) 4.它有菜单链接 5.这个位置有一个十字路口 基本上,如果您创建了一个算法来对“紧凑场地”结果的完整性进行排序,您可以近似Foursquare.com的唯一性。我会将所有不同属性的数量加起来,并对已验证的属性、签入次数和提示(告诉您是否有人在使用该场地)给予额外的权重。我可能会用名字、街道地址和电话号码作为钥匙。邮政编码似乎也是一个很好的使用方法,但在本例中,您会注意到它对于应该是规范的结果是不正确的
我用来帮助回答这个问题的一个很好的参考文档是:你能提供实际的API调用(减去秘密)和结果吗?如果没有更多细节,就无法帮助您进行调试。我希望我的请求中遗漏了一些内容,但这听起来是最好的方法。谢谢