
目次
目次を開く
はじめに
検索窓付きのマップをサイトに導入したくてGoogle Maps Platformのドキュメントを覗いたのですが、情報が散らばり過ぎていてパニパニパニックになったので、自分用にまとめました(まとめます)。
使いたい機能
- 地図を表示するやつ(Maps JavaScript API)
- 検索するやつ(Autocomplete)
使いたい機能の料金
ここから沼りました。Google Maps Platformは従量課金制を採用しているので、しっかり理解してから使用しないと、いつの間にか莫大な料金を請求されていることになります。毎月200ドルまでは無料で使えるので、個人開発で使用する場合は、出来るだけ無料枠内で使いたいです。
しかし、この料金計算がなかなかの曲者です。
今回はAutocompleteを使いたいので、Autocompleteの料金を調べてみます。
Autocompleteの料金
Autocompleteの料金は、以下のようになっています。
一つ目の方は「Maps JavaScript API の Place Autocomplete サービス」と書いてあるので、おそらくAutocompleteを呼び出す毎に課金されるんでしょうか?「Maps Static API」というGoogle Maps Platformで一番安い指定の地図画像を返すAPIに次いで安いので、現時点ではあまり気にしないこととします。
2つ目はMap表示で使われる「Maps JavaScript API」の$7.00/1000リクエストよりも約2倍高いので、慎重に使わなければなりません。
ドキュメントにてこのような記述がありました。
An array of data fields to be included in the Place Details response for the user’s selected PlaceResult. If the property is not set or if [‘ALL’] is passed in, all available fields are returned and billed for (this is not recommended for production deployments). For a list of fields, see PlaceResult.
ユーザーが選択したPlaceResultのPlace Detailsレスポンスに含まれるデータフィールドの配列です。このプロパティが設定されていない場合、または [‘ALL’] が渡された場合、利用可能なすべてのフィールドが返され、課金されます(これは本番環境では推奨されません)。フィールドの一覧は、PlaceResultを参照してください。
どうやらフィールドを指定すると課金されてしまうようです。そのフィールドについて調べていきましょう。
指定できるフィールドの一覧はこちらから閲覧できるようです。
しかし、フィールド指定の課金についての詳細は記載していないので再度調べてみると、Places API の使用量と請求額を説明しているページのSKU: Atmosphere Dataセクションにフィールド(Place Details)というリンクがありました。情報のたらい回しすぎて目が回ります。
Basic | Contact | Atmosphere |
---|---|---|
address_component、adr_address、business_status、formatted_address、geometry、icon、icon_mask_base_uri、icon_background_color、name、photo、place_id、plus_code、type、url、utc_offset_minutes、vicinity | formatted_phone_number、international_phone_number、opening_hours、website | price_level、rating、reviews、user_ratings_total |
上記がフィールドで指定できるものの振り分けです。
Basic フィールドは基本レートで課金され、追加料金はかかりません。Contact フィールドと Atmosphere フィールドはより高いレートで課金されます。詳細については、価格表をご覧ください。
とあるように、Basicフィールドを指定する限りは追加料金はかからないようです。また価格表を見てみましたが、ContactフィールドとAtmosphereフィールドに関する記述はありませんでした。もうよく分かりません。
結論
今回の調査で分かったのは、検索窓付きのマップをサイトに導入する際には「Maps JavaScript API」の料金に加えて、「Autocomplete - リクエスト単位+」($2.83/1000リクエスト)と「Autocomplete + Place Details - セッション単位+」($17/1000リクエスト)の料金がかかり、さらに「Place Details」のフィールドを指定すると、指定した項目によっては追加料金がかかるということです。これらの料金を考慮して、サイトに導入するかどうかを判断する必要があります。何にせよ料金体制が複雑すぎる且つサイトが分かりづらいので、GoogleはGoogle Map Platformの料金体制についての情報をChatGPTに喰わせてプラグインとして提供してほしいですね。