0

http://maps.googleapis.com/maps/api/geocode/json?address=kemayoran&sensor=falseこれは 、訪問者がkemayoranの代わりにkemを入力したときにこれを機能させたいという事実ではない場合、私が望む結果です.

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Kemayoran",
               "short_name" : "Kemayoran",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Jakarta Pusat",
               "short_name" : "Jakarta Pusat",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Jakarta",
               "short_name" : "Jakarta",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Jakarta Capital Region",
               "short_name" : "Jakarta Capital Region",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Indonesia",
               "short_name" : "ID",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Kemayoran, Jakarta, Indonesia",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : -6.14935190,
                  "lng" : 106.8857620
               },
               "southwest" : {
                  "lat" : -6.171493900000001,
                  "lng" : 106.84546290
               }
            },
            "location" : {
               "lat" : -6.16165420,
               "lng" : 106.8550150
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : -6.14935190,
                  "lng" : 106.8857620
               },
               "southwest" : {
                  "lat" : -6.171493900000001,
                  "lng" : 106.84546290
               }
            }
         },
         "types" : [ "sublocality", "political" ]
      },
      {
         "address_components" : [
            {
               "long_name" : "Kemayoran",
               "short_name" : "Kemayoran",
               "types" : [ "train_station", "transit_station", "establishment" ]
            },
            {
               "long_name" : "Jalan Garuda",
               "short_name" : "Jalan Garuda",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Pasar Baru",
               "short_name" : "Pasar Baru",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Sawah Besar",
               "short_name" : "Sawah Besar",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Jakarta Pusat",
               "short_name" : "Jakarta Pusat",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Jakarta",
               "short_name" : "Jakarta",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Jakarta Capital Region",
               "short_name" : "Jakarta Capital Region",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Indonesia",
               "short_name" : "ID",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "10710",
               "short_name" : "10710",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "Kemayoran, Jalan Garuda, Jakarta 10710, Indonesia",
         "geometry" : {
            "location" : {
               "lat" : -6.16204140,
               "lng" : 106.84154990
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : -6.160692419708497,
                  "lng" : 106.8428988802915
               },
               "southwest" : {
                  "lat" : -6.163390380291502,
                  "lng" : 106.8402009197085
               }
            }
         },
         "types" : [ "train_station", "transit_station", "establishment" ]
      },
      {
         "address_components" : [
            {
               "long_name" : "Kemayoran",
               "short_name" : "Kemayoran",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Kemayoran",
               "short_name" : "Kemayoran",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Jakarta Pusat",
               "short_name" : "Jakarta Pusat",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Jakarta",
               "short_name" : "Jakarta",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Jakarta Capital Region",
               "short_name" : "Jakarta Capital Region",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Indonesia",
               "short_name" : "ID",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "10620",
               "short_name" : "10620",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "Kemayoran, Jakarta 10620, Indonesia",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : -6.1602730,
                  "lng" : 106.8572680
               },
               "southwest" : {
                  "lat" : -6.1664210,
                  "lng" : 106.851820
               }
            },
            "location" : {
               "lat" : -6.16165420,
               "lng" : 106.8550150
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : -6.1602730,
                  "lng" : 106.8572680
               },
               "southwest" : {
                  "lat" : -6.1664210,
                  "lng" : 106.851820
               }
            }
         },
         "types" : [ "sublocality", "political" ]
      },
      {
         "address_components" : [
            {
               "long_name" : "Kemayoran",
               "short_name" : "Kemayoran",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Krembangan",
               "short_name" : "Krembangan",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Surabaya",
               "short_name" : "Surabaya",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "East Java",
               "short_name" : "East Java",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Indonesia",
               "short_name" : "ID",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "60176",
               "short_name" : "60176",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "Kemayoran, Surabaya 60176, Indonesia",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : -7.2369960,
                  "lng" : 112.7333040
               },
               "southwest" : {
                  "lat" : -7.2465120,
                  "lng" : 112.726760
               }
            },
            "location" : {
               "lat" : -7.2417540,
               "lng" : 112.7300320
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : -7.2369960,
                  "lng" : 112.7333040
               },
               "southwest" : {
                  "lat" : -7.2465120,
                  "lng" : 112.726760
               }
            }
         },
         "types" : [ "sublocality", "political" ]
      },
      {
         "address_components" : [
            {
               "long_name" : "Kemayoran",
               "short_name" : "Kemayoran",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Bangkalan",
               "short_name" : "Bangkalan",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Bangkalan Regency",
               "short_name" : "Bangkalan Regency",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "East Java",
               "short_name" : "East Java",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Indonesia",
               "short_name" : "ID",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "69116",
               "short_name" : "69116",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "Kemayoran, Bangkalan 69116, Indonesia",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : -7.0243290,
                  "lng" : 112.7483040
               },
               "southwest" : {
                  "lat" : -7.039670,
                  "lng" : 112.7349340
               }
            },
            "location" : {
               "lat" : -7.031263999999999,
               "lng" : 112.7417250
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : -7.0243290,
                  "lng" : 112.7483040
               },
               "southwest" : {
                  "lat" : -7.039670,
                  "lng" : 112.7349340
               }
            }
         },
         "types" : [ "sublocality", "political" ]
      }
   ],
   "status" : "OK"
}

ケマヨランを数本頂きました。

私が行った場合:

http://maps.googleapis.com/maps/api/geocode/json?address=kemayoran&sensor=false&bounds=-6,106|-5,107

ケマヨランを頂きました。しかし、他のすべてのケマヨランは十分に範囲内にありますが、1つだけです.

最初のクエリで境界を正しく指定しました。ご覧のとおり、ケマヨランの緯度の経度は境界 -6,106|-5,107 の範囲内にあるためです。

私が行った場合

http://maps.googleapis.com/maps/api/geocode/json?address=kemay&sensor=false&bounds=-6,106|-5,107

ケマヨランの代わりにケムナイをもらいました。

このプライベート API と比較してください: http://maps.google.com/maps/suggest?q=kemay&cp=2&hl=en&gl=&v=2&clid=1&json=a&ll=-6.230664,106.55365&spn=1,1&src=1&num=20&numps =0

結果は、プライベート API であることは言うまでもなく、緯度と経度を提供しないことを除いて、まさに私が望むものです。

それで、私は何をすべきですか?

4

1 に答える 1

2

境界は、Google の Web サービスのドキュメントで説明されているように、検索結果にバイアスをかける方法にすぎません。「Kemay」の検索文字列を指定したため、スコットランドで完全一致が検出されます。ただし、正確な文字列を入力すると、探しているものが見つかります。

編集:

場所のオートコンプリート機能のような機能を探しているようです ( webservice 経由、またはより良いのはjavascript ライブラリ経由)。部分的な文字列を入力すると、より正確な結果が得られるようです。

于 2012-11-28T02:11:13.690 に答える