DEVELOPERS BLOGデベロッパーズブログ
前回の Google Maps による郵便番号⇒住所変換を CakePHP のコンポーネント化すると便利そうなので試してみた。
問い合わせは CakePHP のキャッシュ機能を利用してキャッシュすることで、Google 側に対するアクセス数の上昇を抑えるようにしてある。
コントローラでコンポーネント指定時にはオプション設定を行なえる。現在利用可能なオプションは以下の通り。
- duration
- キャッシュの有効期限を設定する。既定値は '+30days' (30日)。
郵便番号または住所をジオコードするメソッドは以下の通り。
- GoogleMapsComponent::GeoCodeAddress($address, $localOnly=FALSE, $language='ja')
- $address は必須で、住所、ランドマークあるいは郵便番号を文字列で指定する。$localOnly に TRUE を指定した場合は参照元 (referre) をチェックして自サイトと同じ参照元以外からのアクセスを拒否する。$language はジオコードサーバに、結果として期待する言語を明示する。(これを設定しないと返される json データ内の住所表記が英語表記になることがある。)
オプションを連想配列形式で与える形式も利用可能。
- GoogleMapsComponent::GeoCodeAddress($options)
- $options は'address'、'localOnly', 'language' をキーとする連想配列。'address' 以外は省略可能。
なお、キャッシュファイルの作成位置等は現状ではCakePHP のキャッシュフォルダ配下の GMaps フォルダに固定されている点に注意。
この記事は加藤 正人さんが書いています!
- 氏名
- 加藤 正人
- 役職
- 多分SE
- 血液型
- 秘密
- 出没
- 美味しいもののあるところ
- 特色
- タヒチ大好き。ちょいメタボ。
- 2020/12/15
- CakePHP3 のリダイレクトがうまく行かない例
- 2020/11/12
- Apache Bench
- 2020/10/05
- PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)
2020/12/15
2020/11/12
2020/10/05
2020/09/11
2020/08/03