Geocoder.search("Sam Francisco")
返回返回"Damascus, Syria"
而不是任何匹配的结果。
例如:“旧金山,美国”或“山姆,瑞典”或“弗朗西斯科,印第安纳州”等。
有谁知道为什么?
重现步骤
将 bing 查找和 ipstack 设置为 Ip_lookup。
跑
Geocoder.search("Sam Francisco")
结果是:
[#<Geocoder::Result::Bing:0x00007f82a7d08dc0
@cache_hit=true,
@data=
{"__type"=>"Location:http://schemas.microsoft.com/search/local/ws/rest/v1",
"bbox"=>[33.44552993774414, 36.22713851928711, 33.57463073730469, 36.40776062011719],
"name"=>"Damascus, Syria",
"point"=>{"type"=>"Point", "coordinates"=>[33.51655960083008, 36.317081451416016]},
"address"=>{"countryRegion"=>"Syria", "formattedAddress"=>"Damascus, Syria", "locality"=>"Damascus", "countryRegionIso2"=>"SY"},
"confidence"=>"Low",
"entityType"=>"PopulatedPlace",
"geocodePoints"=>[{"type"=>"Point", "coordinates"=>[33.51655960083008, 36.317081451416016], "calculationMethod"=>"Rooftop", "usageTypes"=>["Display"]}],
"matchCodes"=>["Ambiguous", "UpHierarchy"]}>,
环境信息
- 地理编码器版本:地理编码器(1.4.9)
- 导轨版本:导轨(5.2.3)
- 数据库(如果适用):postgress - pg (0.21.0)
Geocoder.configure( *查找::bing,* ip_lookup::ipstack,*语言::en,* use_https:false
)
预期行为
Geocoder.search("Sam Francisco")
应该返回任何匹配的结果。
例如:“旧金山,美国”或“山姆,瑞典”或“弗朗西斯科,印第安纳州”等。
实际行为
Geocoder.search("Sam Francisco")
返回"Damascus, Syria"
。