「98 Spru」の Google プレイス オートコンプリート リクエストを実行すると、1 つの ID (013ae3e513081ff1bc9e3dc202df54ba9d147285) と 1 セットのタイプ (「ルート」と「ジオコード」) を持つ場所の予測が取得されますが、その場所の詳細を取得すると、別の ID (5e66bbb5a5a7eaedd07fabc199e87570bcc0eae6) と別のタイプのセット ("street_address")? 残りの情報は正しいです。以下のリクエスト/レスポンスのスニペット。
これは予想されることですか?もしそうなら、なぜですか?
クライアント側では、特定のタイプ (「street_address」など) ではないオートコンプリート予測を除外しようとしています。Autocomplete レスポンスの「types」フィールドは、Details レスポンスで返される「true」タイプの値と一貫して一致しないため、これは機能しません。
ありがとう!
「98 Spru」のオートコンプリート リクエスト/レスポンス https://maps.googleapis.com/maps/api/place/autocomplete/json?input=98%20Spru&sensor=true&key=MYKEY&location=42.350000,-71.160000&radius=100.000000&types=geocode
{
"description" : "98 Spruce Street, Watertown, MA, United States",
"id" : "013ae3e513081ff1bc9e3dc202df54ba9d147285",
"matched_substrings" : [
{
"length" : 7,
"offset" : 0
}
],
"reference" : "CmRcAAAArJjcgqYuczq9wKmQG0lwv6j_uCBYCrWzS_U76FvnV3fCnWq0_pPf-nu6M9eTYQEpYt4XahA3Vg0GSzMcR23k3Mkxp9sv73ObGmeHDcanEnZ0dWpl69t7eSwmzLbrREQfEhA0CrWTEXtfQhcnfNWnqTukGhQFWBj_lPkoAwG-ZvUIv0GZhgAscQ",
"terms" : [
{
"offset" : 0,
"value" : "98 Spruce Street"
},
{
"offset" : 18,
"value" : "Watertown"
},
{
"offset" : 29,
"value" : "MA"
},
{
"offset" : 33,
"value" : "United States"
}
],
"types" : [ "route", "geocode" ]
},
Details Request / Response from above prediction: https://maps.googleapis.com/maps/api/place/details/json?key=MYKEY&sensor=true&reference=CmRcAAAAzcupmv2dCaIWTnySJhA8y4BIc5_VSj1AUXCBFHEVnuo3NGjuqAVrLGSVZ_NODQstUs1ZclGASEzBYTF0B1nFSAcjgrc7Jn9NhJC2GZ2RtQQ3REFV7pvBzTPoGOHew289EhAD7dQFOe2EvBjpQ46IKODbGhTH0scvHs54U3refjf1-Tn6-04XvQ
{
"debug_info" : [],
"html_attributions" : [],
"result" : {
"address_components" : [
{
"long_name" : "98",
"short_name" : "98",
"types" : [ "street_number" ]
},
{
"long_name" : "Spruce St",
"short_name" : "Spruce St",
"types" : [ "route" ]
},
{
"long_name" : "Watertown",
"short_name" : "Watertown",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Middlesex",
"short_name" : "Middlesex",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Massachusetts",
"short_name" : "MA",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "02472",
"short_name" : "02472",
"types" : [ "postal_code" ]
}
],
"adr_address" : "\u003cspan class=\"street-address\"\u003e98 Spruce St\u003c/span\u003e, \u003cspan class=\"locality\"\u003eWatertown\u003c/span\u003e, \u003cspan class=\"region\"\u003eMA\u003c/span\u003e \u003cspan class=\"postal-code\"\u003e02472\u003c/span\u003e, \u003cspan class=\"country-name\"\u003eUSA\u003c/span\u003e",
"formatted_address" : "98 Spruce St, Watertown, MA 02472, USA",
"geometry" : {
"location" : {
"lat" : 42.3667790,
"lng" : -71.1698590
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
"id" : "5e66bbb5a5a7eaedd07fabc199e87570bcc0eae6",
"name" : "98 Spruce St",
"reference" : "CpQBhgAAABX6gm9Qh9r9QxMuEWIrwFGcsz2QnUG0MAoEkD33kwrxfcEakZh-d01oWlAFnIieF8MvVcflI7xJ91Qq2ahnw9oDjcUPUnhlRcOUjLF0lTXOWf3Fp3dbCqLo3MQxCDGT3UJj5fR4ZrPagqBYXtQcPl1TB6sgPHZv8x-2jdJzbh-yZ6yb9VhfG-KDD76-RdotkRIQ7Oz0mKuwaclr0xiIf4oHehoUM2l9nZsi5pU2RPyB7YA2lmJ7vI0",
"types" : [ "street_address" ],
"url" : "https://maps.google.com/maps/place?q=98+Spruce+St&ftid=0x89e3781f4bba528d:0xa7ec6e9a6bde2e4f",
"vicinity" : "Watertown"
},
"status" : "OK"
}