4

フォームへの市/州の入力に基づいて郵便番号を検索する方法はありますか?GoogleジオコードAPIが正しい方向かもしれないと思っています。何かご意見は?私はWordpressで構築されたサイトを持っているので、コードはPHPを利用する必要があります。前もって感謝します。

4

3 に答える 3

1

ジオコーディングは、住所の座標を見つける場所です。はい、都市、州をジオコーディングすることはできますが、これにより、都市の中心が得られます(ジオコーダーの内部データベースで定義されているように、通常は重心または「市庁舎」です。

ほとんどの都市には複数の郵便番号があります。これらすべてが必要ですか?同様に、郵便番号には複数の都市が含まれる可能性があります。特に、郵便番号が大きくなる可能性があり、都市は他の国が「村」や「集落」と呼ぶ農村地域ではそうです。

したがって、おそらくデータベースを取得するのが最善の策です。周りに無料のものがあるかもしれませんが(Geonamesが思い浮かびますが、郵便番号はないと思います)、結局は購入しなければならないかもしれません。

于 2010-11-11T20:43:02.073 に答える
1

YQLは次のようなことを行うことができます。

select  name from geo.places.children where parent_woeid in (select woeid from geo.places where text="sunnyvale, usa" limit 1) AND placetype = 11

戻り値:

{
 "query": {
  "count": 6,
  "created": "2011-03-16T06:49:09Z",
  "lang": "en-US",
  "results": {
   "place": [
    {
     "name": "94086"
    },
    {
     "name": "94087"
    },
    {
     "name": "94088"
    },
    {
     "name": "94089"
    },
    {
     "name": "94090"
    },
    {
     "name": "94085"
    }
   ]
  }
 }
}

YQLコンソール

そこには、 PHPJavascriptの両方でこのようなクエリを実装する方法の例があります。

于 2011-03-16T06:54:16.007 に答える
0

Google APIに関する最初の注意:他の人が行ったように(時には無意識のうちに)無駄な道をたどらないように、 GoogleのTOSに注意してください。具体的には、「注:ジオコーディングAPIはGoogleマップと組み合わせてのみ使用できます。地図に表示せずに結果をジオコーディングすることは禁止されています。」

プロジェクトがミッションクリティカルでない場合は、無料の郵便番号データベースを入手するのが最善の策です。それ以外の場合は、おそらく優れた商用グレードのデータベースが必要になります。ただグーグル「商用グレードの郵便番号データベース」。

また、このトピックに関する優れたスタックオーバーフロースレッドを参照してください。

于 2012-12-05T22:25:12.717 に答える