この記事は Google の Developer Advocate である Angela Yu による Google Maps Platform Blog の記事 " Google Maps Platform best practices: Securing API keys when using Static Maps and Street View APIs" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。



Google Maps Platform では、API キーをオープンな環境へ公表しなければならない場合でも、不正使用から API キーを守るために、複数レイヤにわたるセキュリティ措置を提供しています。この記事では、クレジットカードの利用に例えて、Google Maps Platform における様々なセキュリティ機能の仕組みを説明します。API キーをお財布の中のクレジットカードに記載されたカード番号だと考えてみてください。

クレジットカード番号と同じように、API キーを保護しよう

Maps Static API および Street View Static API は、カスタマイズされた地図または、ストリートビューのパノラマを公開するための、最も単純かつ効率の良い方法です。これらの API を使えば、どのようなウェブページにも、Google Maps Platform によってホスティングされているソース URL を伴う画像として、静的な地図やストリートビューの画像を追加できます。また、Google Maps Platform 使用状況に応じて適用される、1か月 $200 ドル分の無料クレジット の枠内で、最大 10 万件までの静的地図、または 28,000 件の静的なストリートビューの読み込みを提供できます。

ただし静的画像の API を使用するには、APIキーを誰でも閲覧可能なコードの中に含める必要があります。



グレートバリアーリーフのヘロン島で撮影された Google ストリートビューの水中写真。Street View Static API を使って埋め込んだ場合、このように表示されます。


上記のようなストリートビュー画像を、 Street View Static APIを使って、ご自身のウェブページに埋め込むには、下記の URL に設定された src 属性を持つ <img> タグをコードに埋め込む必要があります。ただし、以下のように、ウェブページのソースコードを閲覧したすべての人に、URL の一部として、API キーが見えてしまうことになります:


https://maps.googleapis.com/maps/api/streetview?location=-23.4427738,151.9276581&size=600x400&heading=75&key=AIzaSyCnltht8tNqkjMoAI-p2WzVVuT0DDl5iyI...


少し不安に感じますか?クレジットカードに例えると、泥棒にクレジットカード番号を盗まれてネットで好きなだけ買物をされてしまうように、誰かに自分の API キーをコピーされて、Google Maps Platform で好きなだけ API コールをされる恐れがあります。そこで、意図する用途以外に API キー使われることを防ぐために、API キーを保護する必要があるのです。



API キーを制限しよう

API キーは、特定の HTTP リファラからしか使えない、ということを Google Maps Platform に設定することで、用途制限をかけることができます(参考記事)。これは、クレジットカードを特定の小売チェーン店でしか使えないようにことと同様です。しかし、それでもまだ、誰かに一か所の店舗で大量に使われてしまうリスクは防ぎきれません。

さらなるセキュリティ措置として、この API キーが Street View Static API の呼び出しにしか使えないようにする制限をかけることもできます。すなわち、このクレジットカードは書籍を買うためにしか使えない、と制限をかけるのに似ています。こうすることで、悪意ある第三者にとって、クレジットカードの利用価値は大きく下がります。

あなただけが生成可能なデジタル署名

ホスティングされた画像の領域では、デジタル署名を追加することを推奨しています。これは、特定の書籍の購入をする際に、指紋認証を用いることに似ています。

デジタル署名された URL を生成するには、 API リクエストと API キーを、Google Cloud コンソールが管理する URL 署名シークレットと組み合わせる必要があります。署名シークレットとは、指紋のように、個人しか持っていないものであり、リクエストされる URL とは書籍の ISBN コードのようなものです。つまり、指紋と ISBN の数学的組み合わせに基づいてデジタル署名が生成されます。これは、あなたが公に共有できるものです。例えば、皆さんがご自身のクレジットカードを使って、特定の書籍購入を許可すると伝えているのと同等です(この場合、 API キーを使って特定の静的画像読み込みを許可していることになります)。




Google Cloud コンソールにおいて URL にデジタル署名を行っている画面のスクリーンショット


Google Cloud コンソールを使ってデジタル署名を生成できます (Maps Static API および Street View Static API に関する手順はこちら)。または、デジタル署名を作成するために独自のサーバ側アプリケーションのコードを書くこともできます(文書の中にサンプルコードを記載しています)。デジタル署名は、皆さんの URL に添付されます。以下が、前掲のストリートビュー画像を読み込むために使える、署名された URL です。


https://maps.googleapis.com/maps/api/streetview?location=-23.4427738,151.9276581&size=600x400&heading=75&key=AIzaSyCnltht8tNqkjMoAI-p2WzVVuT0DDl5iyI&signature=Qt0k0Nrh8t6VFlEz2sdtIz__sPw=


サインされていない要求を制限する

静的な画像の URL にデジタル署名を追加する作業が済んだら、Maps Static API または Street View Static API へのキーを使ったデジタル署名を伴わないリクエスト件数の許容限界数をプロジェクトの中で低くすることで、さらにアカウントの安全度を強化できます。



この動画では、Google Cloud コンソールで量的制限値を管理する方法を示しています。Maps Static API と Street View Static API の量的上限値設定のページに関して、署名ありのリクエストの量的上限値、署名なしのリスクエストの量的上限値を管理する部分が、それぞれに設けられています。初期設定として、これら API を使ったプロジェクトは、1 日あたり 最大 25,000 件の署名なしリクエストを受付可能です。皆さんが API キーを使ってデジタル署名を伴った静的画像の URL のみを使用可能としたい場合は、この量的上限値を 0 に変更してください。



API キー、アプリケーション制限、API 制限、デジタル署名、量的上限値という 5 つのセキュリティ階層を設けることで、Google Maps Platform の認証情報を想定外に使用されてしまうのを防ぐことができます。ここで、前掲のストリートビュー画像を公開するために、5 つすべてを使用しました。したがって、たとえこの API キーが誰でも閲覧可能であっても、本ブログ上で、デジタル署名された要求先 URL によって、当該の Street View Static API を呼び出すためにしか使用できません。この特定のストリートビュー画像用の URL に基づいて、 1 つのデジタル署名しか作成していないため、この署名は他のどのストリートビュー画像に対しても機能しません。パノラマ画像のなかで向きを変えて別の角度から見ることさえできません。


クレジットカードの例えを最後まで当てはめるなら、次のようになります。クレジットカード番号を公開しましたが、同時に、クレジットカード会社に、そのクレジットカード番号は、パウエルズという書店からミゲル・ド・セルバンテス・サアヴェドラ Miguel de Cervantes Saavedra 作のペーパーバック書籍、『ドンキホーテ Don Quixote』を購入するためにのみ使うよう、指示を出したようなものなのです。 "El que lee mucho y anda mucho, ve mucho y sabe mucho."(よく読み、よく歩く人は、多くの事を見聞きし、多くの事を知る―「ドンキホーテ」からの引用)


Google Maps Platform に関する詳しい情報はこちらをご覧ください。ご質問やご意見はページ右上の「お問い合わせ」より承っております。


Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps テクニカルアカウントマネージャ



この記事は Google の Support Program Manager である Mery Pardo による Google Maps Platform Blog の記事 " How to get started with Google Maps Platform and get support when you need it" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。



昨年、Google Maps Platform の更新と強化の実施について発表しました。全ての顧客向けの無料のカスタマーサポート、使用量を追跡してクラウド プロジェクトと同様にプロジェクトを管理しやすくするために Google Cloud Platform Console への統合を含んでいます。その後も、Google Maps Platform ソリューションの構築、最適化、管理をサポートする様々なリソースを提供してきました。Google Maps Platform を最大限に活用するために役立つリソースにはどのようなものがあるのか、見ていきましょう。

はじめてみよう

ドキュメント は有意義な最初の一歩です。ドキュメントは、技術情報、コードのサンプル、チュートリアルから成り、製品領域、プラットフォーム、API ごとに分類しています。また、よくある質問 リストも掲載しています。


コミュニティが牽引するサポート

StackOverflow というプログラマーのための質疑応答サイトに、現在活動中の Google Maps Platform 開発者コミュニティが存在します。Stack Overflow そのものは Google が運営しているわけではありませんが、Google アカウントを使ってサインインして、知りたい質問への答えを探したり、質問したり、質問に答えたり、役立つ回答に「役に立った」と投票することができます。これは、アプリを開発、バグ除去、保守するための技術的質問をするのに最適な場所です。Google Maps Platform のチームメンバーは、Google マップ 関連のタグをモニタリングしており、正確で役立つ情報が共有されるようにしています。

Google Maps Platform の専門家によるカスタマーサポート

もちろん、私たちも常に皆さんのために待機しています。現在入手できるリソースの中にご自身の質問に対する答えが見つからなかった場合、いつでもサポート担当者に直接連絡できます。アカウント特有の課題がある場合(例:容量制限や課金に関する課題)、特にサポートが関係してくることになり、私たちは皆さんの質問がどのようなことであれ、喜んでお役にたちたいと考えています。ケースを作成するには、Google Cloud Platform Console の中で Google Maps Platform サポートページ に移って、上部のドロップダウン バーから、ご自身の質問に関連するプロジェクトを選択するだけです。プロジェクトにおいて Google Maps Platform API が有効化されていない場合、サポートページは、皆さんが開始できるページを自動的に表示します。

また、最近、一部の顧客に対しサポート担当者にチャットで連絡できるようにしました。フィードバックも好評なため、現在、チャット機能を全てのユーザにご利用いただけるように準備を進めています。



皆さんがどのような方法でサポート依頼をするにせよ、私たちは、重大な課題 に関して1時間以内、全てのケースについて 24 時間以内に回答することを目標としています。


バグ、新機能の要望

Google では、Issue Tracker で既知および報告された多くの課題のリストを積極的に保持しています。ここでは、報告済みのバグや機能への要求を簡単に見ることができます。また、皆さんからのコメントは課題を調査する我々チームにとって手助けとなります。また、万一サービスが停止した場合、Google Cloud Console の Maps Support のセクションにバナーでメッセージと Issue Tracker へのリンクが表示されます。それを通じて、課題のリアルタイムな状況について、より詳しい情報が得られます。



バグ報告や新機能の要求を行いたい場合、あらゆる場面でサポートできるように我々は待機しています。まずは、Issue Tracker へ要求を送信してみましょう。その際に、サンプルコードや画面のキャプチャ画像を含めると、課題の特定、回答がより迅速になります。

API についての最新情報、サービス約款変更、サポートポータルの定期保守期間、その他の情報を得るには、新たな e メール通知グループに登録してください。全ての最新情報を一か所で受け取ることができます。


Google Maps Platform に関する詳しい情報はこちらをご覧ください。ご質問やご意見はページ右上の「お問い合わせ」より承っております。




Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps テクニカルアカウントマネージャ


Google はオープン ソースの世界に対して長く貢献してきました。今回も、deck.gl チームと連携・協力する機会を得て、Maps JavaScript API のサポート対象に deck.gl を追加することになりました。利用者のみなさんには、deck.gl の初期サポートをご利用いただけます。deck.gl の使用方法と機能の詳細については deck.gl のドキュメントをご覧ください。また、Google Maps Platform で deck.gl をサポートするに至った経緯は vis.gl のブログをご確認ください。

Maps SDK for Android のベータ リリース

Maps SDK for Android が、Google マップ モバイル アプリと完全に同一のインフラ上で構築されているわけではない、というのことはあまり知られていません。このため、お客様が要望する機能の多くを Google マップから Google Maps Platform に移行することが難しくなっていました。このため、当社はこの事態を変えることを決め、数か月間のリファクタリングおよび改善を経て今回、Maps SDK for Android 次期バージョンのベータ リリースを発表しました。


まずは、移行ガイドに示された手順に従って、ぜひ試してみてください。まだ、ベータ リリースのため。バグがなく、満足していただける SDK をできる限り早期に正式リリースするためには、お客様にフィードバックを Issue Tracker へ投稿していただくことが大変有用です。


大きな変更点は、Maps SDK for Android は今後のリリースでは Google Play サービスの一部ではなくなるということです。これは、Google マップ モバイル アプリを共通プラットフォームに可能な限り移行するための重要な一歩で、パフォーマンスの改善と今後の機能サポートを意図して行うものです。またこの変更により、新しい機能や修正をお客様にご利用いただくことが可能となり、より詳細な制御が実現します。

次に、今回のベータ リリースを採用したアプリの大半は、マップ関連に対するエンド ユーザ側のデータ消費量が 60% 減少する見込みです。さらに、今回のリリースでは、開発者向けコミュニティで報告された問題の上位 65 項目の修正も含まれており、Maps SDK for Android に関する別の画期的なプロジェクトも進行中です。

主要な変更点については、こちらのガイドにまとめていますので、ぜひご覧ください。



プラットフォームをさらに使いやすくする

マップ、ルート、プレイスのすべての機能に対して、バックエンドの継続的な改善、パフォーマンスや信頼性の向上、そして Google Maps Platform を使う上で役立つコンテンツやコード サンプルを強化するに至るまで、お客様にとって価値のあるプラットフォームを構築することを目指しています。

今後、さらに多くのことを計画しています。みなさんが Google Maps Platform を活用してどのようなものを構築されるのか、とても楽しみにしています。



Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps Solution Architect, Google Maps



土地利用データを使ってゲームプレイをデザインする機能も追加しました。これにより、その位置の土地の表面の種類に関する情報を入手できるようになります。ここで皆さんは、砂漠でサボテンを生長させたり、草原でプレイヤーに昆虫を捕まえさせたり、アライグマを裏通りのごみ収集箱に置いたりすることが可能になります。掃除機を振り回してさまざまな生物、建物などを吸い込む宇宙怪物を作るというのはいかがでしょうか?




また、地形標高の機能も追加しました。これは、平面的な世界で退屈している人にとっては、非常に興味がそそられる機能です。この機能により、丘、å±±、都市を好みのスタイルに設計し、一層カスタマイズされた位置情報の要素をゲームに組み入れることができます。




素晴らしいものを構築しよう

没入型のリアルワールド ゲームのデザインは、ゲームプレイを現実の世界に単に置くこと以上のことを行うことになります。プレイヤーがそのゲームを体験する上で不可欠な実在する場所を作ることです。プレイヤーが、いつ、どこでプレーし、その時彼らの周囲に何が存在しているのかを把握します。Google Maps のデータと Google のインフラストラクチャによって、ゲームの世界を現実世界に変えるということです。2005 年より、Google は世界の地図を作製してきました。そして、今、現実世界について知っている情報を自身のゲームで生かすことができるのです。


詳しくは、Google Maps Platform に関するウェブサイト g.co/mapsplatform/gaming を閲覧ください。




Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps テクニカルアカウントマネージャ



2018 å¹´ 3 月に、ゲームスタジオ向けに、Google マップのデータを利用して位置情報のゲームを開発するためのソリューションを発表しました。今回、ライドシェアおよびアセットトラッキング業界向けの新しいソリューションの提供を開始します。ライドシェア業界の方は Google マップのナビゲーションを直接自社のアプリに埋め込むことで、ドライバーや顧客の体験を最適化できるようになります。また、アセットトラッキング業界向けには、車両やアセットの位置をリアルタイムで特定し、アセットがどこに移動したかを可視化し、複雑な道のりを行く車両のルート設定を行うことで、事業の効率化を後押しします。Google は今後も、利用者の皆様に有益な情報や専門的知見を提供する体制がが整った分野において、新しいソリューションを市場に投入していく予定です。

後述するコア API は、位置情報に基づいたアプリやその体験を構築するのに必要な要素技術の開発をサポートします。Google は、このコア API を進化させ、よりシンプルかつ簡単に扱うことができ、利用者のビジネス成長に合わせてスケール可能な物にすることを目指しています。

位置情報に基づいた新しい体験をもたらす最新の製品

これまで提供してきた 18 種類の API を 3 つのコア製品(マップ、ルート、プレイス)に簡素化します。これにより、皆さんは新しい機能を見つけることが容易になり、アプリやウェブサイトに追加できるでしょう。なお、これらのアップデートは既存のコードでも使用することができます。すなわち、既存コードに何か変更を加える必要はありません。

単一の料金プラン、無料サポート、単一のコンソール

これまでに Google Maps API を利用いただいている皆様からは、すべての コア API へのアクセスの料金設定をもっと単純かつ分かりやすくして欲しいというご要望をいただいていました。そこで、今回、スタンダートプランとプレミアムプランを統合し、コア製品に対しては、利用料後払い方式の料金プランのみとすることにしました。この新プランでは、開発者は毎月最初の 200 ドル分を無料で利用することができます。ほとんどの利用者はこの無料枠内で毎月ご利用いただけることでしょう。この新しい料金プランにより、年間利用料、前払手数料、解約手数料や使用量の制限は無くなり、ご利用いただいたサービスに対してのみ支払えば良いことになります。また、あらゆる方に対して無料のカスタマーサポートを広げていきます。さらに、Google Cloud Platform Console と統合することで、利用状況の追跡や、プロジェクト管理、および新しい革新的な製品を探し出すことなどがより簡単に行えます。

お客様の発展に合わせ、簡単にスケール可能

2018 å¹´ 6 月 11 日(米国時間)より、皆さんがコア製品にアクセスする際には、有効な API キーと Google Cloud Platform の請求先アカウントの設定が必須となります。皆さんが請求を有効にした時点で、3 つの製品(マップ、ルート、プレイス)に対する月ごとの 200 ドルの無料利用枠が設定されます。皆様のビジネスが成長し、利用量が急激に増えた場合でも、ご心配は不要です。Google マップのグローバルインフラにより、お客様はキャパシティや信頼性、パフォーマンスについて気にせずに自動的にスケールさせて利用を継続することができます。今後もGoogle の他のプログラムと提携し、この製品を非営利組織、スタートアップ、災害対応、および報道機関へと提供していきます。Google は、これらのプログラムを何百、何千という組織やより多くの国々に向けてスケールさせるための新しいプロセスを導入しました。

今後、皆さんが位置情報に基づいたあらゆる新しい体験を構築するにあたって、Google はその構築を支援していきたいと考えています。現在、このコア API をすでに利用されている場合は、「既存ユーザー向けガイド(英語)」をご覧下さい。今回の変更に関する詳しい説明と、新しいプランへの移行を容易に進めるガイドラインを解説しています。もし、初めて製品を利用するという方は、最初のプロジェクトをここから始めてみてください。

Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Customer Engineer Lead, Japan and APAC


ゲームに合わせて自由にカスタマイズ

皆さんに簡単にお使い頂けるように、Google マップの持つ豊富なデータを Unity ゲームエンジンから利用できるようにしました。ビルや道路、公園が Unity の GameObject になるので、テクスチャやスタイルを追加してカスタマイズし、ゲームにぴったりの世界観を実現できます。また、現実世界のデータを構築する手間が省けるので、ゲームデベロッパーは、表現力豊かで迫力のあるゲーム体験を作成することに集中できるでしょう。

「Google マップのデータを Unity に組み込んで使えるので、ユーザーが現実世界でバーチャルな恐竜を見つけるという仮想体験の構築に本来の時間と労力を集中させることができました。」 - Ludia の CEO、Alexandre Thabet 氏


世界中のあらゆる場所で迫力満点の体験を

ゲーム デベロッパーは、詳細で正確な生きた世界のモデルにアクセスし、それらを使ってゲームの世界の土台を作ることができます。200 か国、1 億以上の 3D のビル、道路、建造物、公園などにアクセスできるので、地球上のあらゆる場所を使って質の高い魅力的なゲームを作ることができます。

「Google と協力することで、最新かつ高品質のロケーション データを活用し、位置情報と結びついた迫力満点の体験をゲームで実現できることにとても興奮しています。新しいビルや道路が作られると、ゲームの中でもそれらにアクセスすることができます。Google マップのロケーション データにかなうものはありません。自由の女神、エッフェル塔、ロンドンアイ、ブルジュ ハリファ、インド門など、世界の有名な建造物や企業、ビルを網羅しているので、周辺の探索も息をのむような体験に変わります」 - Next Games の CEO、Teemu Huuhtanen 氏


現実世界を使って質の高い魅力的なゲームをデザイン

世界規模で現実世界の場所と連動するゲームを設計するというのは、難しい挑戦です。しかも、プレイヤーの環境についてたくさんのことを知る必要があります。そこで、プレイヤーの居場所に関係なく、快適で楽しく何の問題もなくプレーできる場所を簡単に見つけることができるようになっています。

「現実世界の場所と連動するゲームを世界規模で構築するのは、難しいことです。ユーザーと関連があり、かつ楽しくプレーできる場所を見つけるのも同様です。ユーザーと関連がある現実世界をゲームに組み込む際に、とても役に立ったのが Google Maps API です。Google のロケーション データを活用することによって、世界中のユーザーが私たちのゲームを通してゴーストバスターズの仮想世界を体験できるようになりました」 - FourThirtyThree Inc.(4:33) の CEO、HAN Sung Gin


Google のインフラが提供する新たなゲーム体験

Google マップのグローバル インフラを活用しているということは、応答時間が早く、オンデマンドで拡張できるということです。さらに、ゲームが確実に動作するという安心を得ることもできます。

Google の優れたプロダクトをモバイルゲームにもご活用ください。早期アクセス パートナーは、ユーザーの環境を詳細に理解するために、ARCore を利用しました。これによって、エコシステム全体の 1 億台以上の端末を対象にすることができています。Google は、ゲームサーバーとして利用できる Google Cloud から、プロモーションに役立つ YouTube や Google Play まで、デベロッパーをサポートするさまざまなプロダクトがあります。

現実世界を使ったゲーム体験を構築してみたいと思っている方は、ウェブページ(英語)にアクセスするか、営業担当にご連絡ください。


Reviewed by 丸山 智康 (Tomoyasu Maruyama) - Google Customer Engineering Lead, Japan and APAC
Share on Twitter Share on Facebook


新しいデザイン
移行スケジュール
新しい外観への移行は、API ごとに徐々に行われます。新しいスタイルに完全移行するまで、期間限定で、デフォルトの設定を以前のスタイルにするか、新しいスタイルにするかを指定することができます。

新しい外観が最初に適用される API は、Google Maps SDK for iOS と Google Places API for iOS であり、米国時間の 2018 å¹´ 2 月 13 日からデフォルトのスタイル指定が有効になっています(表)。各 API のタイムラインの最新情報をいち早く知りたいという方は、Maps API の Issue Tracker で該当する課題にスターを付けてください。

Google Maps API の新しいスタイルで問題を見つけた方は、バグレポートを作成してお知らせください。

API
スタイル指定の開始時期
トラックしている問題
Google Maps SDK for iOS
2 月 13 日
Google Places API for iOS
2 月 13 日
Google Maps JavaScript API
2 月 14 日(バージョン 3.32)
Google Static Maps API
2 月 13 日
Google Maps Android API
3 月初旬
Google Places API for Android
5 月

アップデートしたスタイルは、アシスタント、検索、Android Auto など、Google マップを組み込むすべての Google のプロダクトやサービスですでに使われています。新しいスタイルを指定して、使い方や使う場所によらず一貫したエクスペリエンスをユーザーに提供しましょう。

Reviewed by ä¸¸å±± 智康 (Tomoyasu Maruyama) - Google Customer Engineering Lead, Japan and APAC
Share on Twitter Share on Facebook

Particle プラットフォーム上に構築されたWi-Fi 対応製品は、位置情報に基づいてその設定を自動化する機能も提供します。Geolocation API を使用することで位置情報に応じて、タイムゾーンの設定や、利用可能な周波数帯域の調整、地域ごとのサービス プロバイダへの接続などを自動的に行います。これにより、製品の設定作業はシームレスになり、操作性も向上し、有用な分析も可能になります。

たとえば、窓のブラインドの場合、位置情報をもとに日照時間のデータを参照して、その開閉を制御することで室内の温度を調整することができます。また、位置情報を送信する機能がついたコーヒー メーカーの場合、その位置情報から市場浸透率やターゲット層の詳細などマーケット分析に必要な情報を得ることもできます。

Particle 端末で位置情報を有効にする方法は、こちらのドキュメントを参照ください。必要な基本ステップは次の 4 つです。

  1. 位置情報に対して有効な Google Maps API キーを取得する
  2. Particle 端末に Google マップのファームウェアを書き込む
  3. Particle Console で Google Maps Integration を有効にする
  4. テストする

Google と Particle の詳細は、デベロッパー ドキュメントをご覧ください。


Reviewed by 丸山 智康 (Tomoyasu Maruyama) - Google Customer Engineer Lead, Japan and APAC
Share on Twitter Share on Facebook

URL を利用する理由

ユーザーが何か目的を達成したいときに、地図が重要なことがあります。しかし、地図がアプリやサイトの中で重要なサービスではないこともあります。特定の場所を示すなど、ユーザーが移動する際の手助けになれば十分というときもあるでしょう。買い物をするために皆さんのもとに訪れようとしているお客様が付近の店舗を探したい場合や、他のユーザーとどこで待ち合わせするかを決めようとしている場合ということもあるでしょう。こうした状況に、Google マップは簡単に対応することができます。

Google Maps URL を使うことによって、 Google マップにリンクし、必要とする機能を自動的に呼び出すことができます。この Google Maps URL は新しい機能というわけではありません。あるプラットフォームでは、ブラウザの URL をコピーすることで動作することに気づいている方もいることでしょう。Android のアクティビティの起動を司るインテントや iOS の URL スキームも利用できます。しかし、これはネイティブ プラットフォームでしか動作しません。デベロッパーの作業も増えますし、マルチユーザー機能は同じプラットフォームのユーザーに制限されます。

クロスプラットフォーム

そこで必要になるのが、Android、iOS、ウェブのすべてをサポートするクロスプラットフォームのユニバーサル URL スキームです。たとえば、メッセージング アプリのユーザーは、メッセージの受信者が Android か iOS かを気にすること無く、友人と会う場所を共有したいはずです。同様に、デベロッパーも同じ機能を 2 つの異なるライブラリで再実装したいとは思わないはずです。

Google Maps URL を開くと、ユーザーの端末の種類に関わらず、インストールされている Google マップのアプリがそれを処理することになります。Android や iOS の Google マップが利用できる場合、それが開きます。そうでない場合は、ブラウザで Google マップが開きます。

利用は簡単

この機能は簡単に利用できます。実施したいことに沿って、URL のいくつかの値を置き換えるだけなので、プログラムで URL を作成するのも簡単です。いくつか例を示します。

予約した宿泊先へ行く方法を知りたい場合や、近隣の飲食店を探したい場合は、次のようにURLを定義します。
https://www.google.com/maps/search/?api=1&query=sushi+near+94043
query パラメータにクエリを指定します。ここでは特定の場所を指定していますが、場所を指定しない場合は、リンクをクリックしたユーザーの近くの場所で探します。ここをクリックすると近くの寿司店を探すことができますので、お試しください。

次のリンクは先ほどのクエリに似ていますが、 1 つの結果だけを返し、ページに追加情報が表示されます。
google.com/maps/search/?api=1&query=shoreline+amphitheatre
api パラメータ(必須)には、使用する Google Maps URL のバージョンを指定します。現在リリースされているバージョンは 1 です。


フィットネス アプリを設定したユーザーが自転車で新しいルートを走ってみたい場合は、次のようにします。
www.google.com/maps/dir/?api=1&destination=stevens+creek+trail&travelmode=bicycling&dir_action=navigate
ここでは、travelmode(移動モード)に bicycling(自転車)を、destination(行き先)に自転車専用道路を指定します。

また、実際にどんな場所かを確かめるために、直接ストリート ビューを開くこともできます。
www.google.com/maps/@?api=1&map_action=pano&viewpoint=36.0665,-112.0906&heading=85&pitch=10&fov=75
viewpoint(視点)パラメータには、表示したい場所の緯度経度を指定します。また、heading(方角)、pitch(上下の角度)、fov(視野角)パラメータで見る方向を指定します。

機能の詳細

Google Maps URL を活用すると、Google マップで何らかのタスクを実行するユーザーをサポートできます。しかし、もっと柔軟な対応が必要な場合や、カスタマイズや制御が必要な場合には、さらに強力な Google Maps API を活用して、Google マップをアプリやサイトに組み込む方法をおすすめします。API が提供する豊富な機能を使うことによって、カメラの制御マップへの図形の描画マップのスタイル設定などのさまざまな機能にアクセスできます。さらに、マップだけでなく、場所のメタデータやイメージなどを活用することもできます。

詳しい情報は

皆さんのニーズを満たすため、Google マップを使ったアプリで大変な作業を簡単に済ませたいという方は、ぜひ Google Maps URL をお使いください。詳細は、新しいドキュメントをご覧ください。

Google Maps URL と Google Maps APIs を利用していただき、ありがとうございます!フィードバックや問題点は、Issue Tracker で共有してください。


Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Customer Engineer Lead, Japan and APAC
Share on Twitter Share on Facebook


「メニューは毎月アップデートし、新メニューや期間限定メニューも提供しています。Google マイビジネスの新しいメニュー情報への追加機能を使うと、メニューデータを自分たちで管理できます。メニューのアップデートは、Yext プラットフォーム経由で直接 Google に提供でき、アップデートしたメニューはすぐに反映されます。提供されなくなった古いメニュー項目がサードパーティのサイトに表示される心配もありません。」Arby’s のデジタル マーケティング スーパーバイザー、Sonja Uppal 氏はこのように話しています。  
デベロッパーは、Google My Business API を使って各店舗のメニューデータを公開できます。アップデートは、数分で反映されます。複数のメニュー(例:朝食、ランチ、ディナー)をさらに細分化する(例:サラダ、主菜、デザート、ドリンクなど)といった階層的なメニューを公開することができ、詳しい説明や写真、価格を掲載することもできます。新しいデベロッパー ドキュメントを参照して、使ってみましょう。  
 
ここに一つの例として、ある店舗の簡単な朝食メニューを公開する、シンプルな JSON リクエストを紹介します。  
 
リクエスト:  
PATCH
https://mybusiness.googleapis.com/v3/123456/locations/
654321?languageCode=en-US&fieldMask=priceLists

 {
  "priceLists": [
    {
      "priceListId": "Breakfast",
      "labels": [
        {
          "displayName": "Breakfast",
          "description": "Tasty Google Breakfast",
          "languageCode": "en-US"
        }
      ],
      "sourceUrl": "http://www.google.com/todays_menu",
      "sections": [
        {
          "sectionId": "entree_menu",
          "labels": [
            {
              "displayName": "Entrées",
              "description": "Breakfast Entrées",
              "languageCode": "en-US"
            }
          ],
          "items": [
            {
              "itemId": "scramble",
              "labels": [
                {
                  "displayName": "Big Scramble",
                  "description": "A delicious scramble filled with Potatoes, Eggs, 
                  Bell Peppers, and Sausage",
                  "languageCode": "en-US"
                }
              ],
              "price": {
                "currencyCode": "USD",
                "units": "12",
                "nanos": "200000000"
              },
              "photoUrls": [
                "http://www.google.com/images/breakfast_scramble1.jpg",
                "http://www.google.com/images/breakfast_scramble2.jpg"
              ]
            },
            {
              "itemId": "steak_omelette",
              "labels": [
                {
                  "displayName": "Steak Omelette",
                  "description": "Three egg omelette with grilled prime rib, 
                   fire-roasted bell peppers and onions, saut\u00e9ed mushrooms
                   and melted Swiss cheese",
                  "languageCode": "en-US"
                }
              ],
              "price": {
                "currencyCode": "USD",
                "units": "15",
                "nanos": "750000000"
              }
            }
          ]
        }
      ]
    }
  ]
}

レスポンス:  
レスポンスには、アップデートされた Location オブジェクトのインスタンスが含まれます。  
 
Google My Business API の詳細や、アクセスするには、デベロッパー ページをご覧ください。質問やフィードバックがある方は、Google My Business API フォーラムで API チームにご連絡ください。  
 
Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Customer Engineer Lead, Japan and APAC
Share on Twitter Share on Facebook


Google Issue Tracker の利用は簡単です。初期設定では、Google Issue Tracker には皆さんに割り当てられている課題のみが表示されますが、これは後で変更することができ、任意のホットリストやブックマーク グループ、保存した検索結果を表示することができます。また、画面右上の歯車アイコンをクリックし、設定を選択すると、通知設定を調整することもできます。通知レベルの設定方法は、デベロッパー ドキュメントを参照してください。課題の作成、編集、検索、グループ化の方法の詳しい情報は、ドキュメントをご覧ください。
issuetracker_maps_bookmark_group.png
Google Maps API ブックマーク グループ

製品固有の問題を検索する

code.google.com に表示されている課題のリンクを開くと、自動的に新しいシステムにリダイレクトされます。新しい Issue Tracker には、code.google.com に登録されていたすべての課題が登録されています。皆さんが報告やコメントした課題や、スター付きの課題も移行されます。もし、移行されていない課題がある場合は、Issue Tracker でお知らせください。もちろん、バックアップも取れます。

Google Issue Tracker は、コンポーネントの階層にしたがって問題を分類しています。Google Maps API ブックマーク グループから、特定の製品の課題にドリルダウンすることができます。また、各製品(や製品の機能)のコンポーネントも簡単に検索できます。たとえば、たとえば、旧トラッカーの Maps API JS v3 と Places API に対応する課題は、それぞれGoogle Maps JS API v3 や Places API のレポートでご覧いただけます。 Google Maps API コンポーネントの完全なリストは、こちらに掲載されています。それぞれの課題の中で検索したい場合は、検索バーのコンポーネント ID をそのままにします。これを削除すると、すべての Google 製品について公開されている課題が検索の対象になります。

課題を作成する方法は、こちらのガイドをご覧ください。ご不明な点がある場合は、よくある質問をご確認ください。それでも答えが見つからない場合は、この投稿にコメントしてください。

フィードバックをお待ちしています

皆さんからのフィードバックは大変重要です。関心がある課題には、スターを付けてください。優先順位付けは、このスターを参考にしています。最近の例では、フィードバックに基づいて Google Maps Android API(365 個のスター)と Google Maps SDK for iOS(245 個のスター)のスタイル化されたマップが実装されています。

Google Maps API に関する課題や機能拡張のご要望をもとに、製品改善を進めていきますので、引き続きご協力をよろしくお願いいたします。

Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps Solution Architect, Google Maps
Share on Twitter Share on Facebook


変更すべきことはまだたくさんあります。今回の改訂は正しい方向に向かっているでしょうか。テクニカル ライティング チームは皆さんのご意見をお待ちしています。ぜひ、本投稿にコメントをお寄せください。



Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps Solution Architect, Google Maps
Share on Twitter Share on Facebook