これは、参照点に非常に近い同じ名前のホテルを生成するはずのクエリです。
ご覧のとおり、場所は 56.1995,-4.746 です。これは英国のある場所です。Arrochar という名前のホテルのクエリ。ホテルは実在します。結果は次のようになります。
{
"html_attributions" : [],
"results" : [
{
"formatted_address" : "Arrochar, Staten Island, NY, USA",
"geometry" : {
"location" : {
"lat" : 40.59234250,
"lng" : -74.07407289999999
},
"viewport" : {
"northeast" : {
"lat" : 40.60012790,
"lng" : -74.05918419999999
},
"southwest" : {
"lat" : 40.5779020,
"lng" : -74.08570610
}
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
"id" : "c7d9f74dca8676759bfe7ea168b8547cd6de3c5e",
"name" : "Arrochar",
"reference" : "CpQBiAAAAKYklx4_uV5ovlJP-x-fGr2VAqzhUCRQ2icNBXj2b5TkGZMqix3tL4xyTizwa0_UdZ5VDbI3psEagu0tTiFc2N6Awn2OJE4Oc3NXtXyaUlADLhJKwnZSuMFLFv85ia3AKiR9fFVWH96u6lEcC16foKMyFREY_KR6Z97QdShfiJCPYNlYZye49gsdU0UsIx3YbxIQa5LUZiMGZvW8sQHn_Cog-hoUr4bMXlYdo9Xae82ZRL-BEDSKRAw",
"types" : [ "neighborhood", "political" ]
}
],
"status" : "OK"
}
ご覧のとおり、この場所は米国にあり、5000 km 以上離れています。ここで、クエリを変更すると、次のようになります。
次に、正しい結果が表示されます。
{
"formatted_address" : "Main Street, Arrochar, United Kingdom",
"geometry" : {
"location" : {
"lat" : 56.199560,
"lng" : -4.7459760
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/lodging-71.png",
"id" : "78d53766dfb2c3bb6008301b079423fffb78b801",
"name" : "Arrochar Hotel",
"reference" : "CnRtAAAAJPg2ABkegIT9Q12hABjfGezwGgHCc3ur1W761rhtkQq0n6Id-cgaLREU-g8Uo5Bnw4ovaAnqCrYm_fHEKjBHOrHK5dvcGpAndQVsl-zi_qZSZR6Sa5HvYZI4pA3ne3rNTl0m4TwuwmMM0nx2gSkxEBIQFqgW85GrUZI8SQFvohgMiBoU51C716M4m-ySUVECgT4BFZUYB50",
"types" : [ "lodging", "establishment" ]
}
では、なぜ Places API のテキスト検索はそのように動作するのでしょうか? location パラメーターは、ホテルがある正確な場所を指していることに注意してください。それでも、「ホテル」という単語を追加しない限り、5000 km 離れたものを取得します。
ありがとう