この記事は Google Maps Platform Product Manager の Alicia Sullivan による Google Cloud Blog の記事 "Announcing Advanced Markers: easily create highly customized, faster performance markers" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Google Maps Platform を初めて使用される場合、まずはマップ上にマーカーを置いてみた人も多いのではないでしょうか。多くの場合、それが Google が持つ現実世界の知見を活用し、世界中のあらゆる場所においてユーザー向けの臨場感あふれる便利なマップ エクスペリエンスの構築を実現するための第一歩となったりします。ユースケースや業界の違い、ウェブ向けなのかモバイル向けなのかにかかわらず、多くの場合、マーカーがマップベースのエクスペリエンスの中核となっています。

デベロッパー コミュニティから数多く寄せられる要望が、簡単に使用できる高度なマーカー機能でした。このたび、Google Maps Platform チームは皆様の要望にお応えすべく、Maps JavaScript API 用の「高度なマーカー」のプレビュー版をリリースいたします。これにより、高度にカスタマイズされ高速に動作するマーカーの作成が可能となり、上質なユーザー エクスペリエンスの提供、ブランドの紹介、時間とリソースの節約が実現します。

主な機能とユースケース

Google マップの赤いピンのカスタマイズ

デフォルトの赤いピンを簡単にカスタマイズする機能は、デベロッパーからの要望が特に多かった機能です。高度なマーカーの新しい「PinView」クラスでは、画像ではないため、デフォルトのピンの色、背景、アイコン、枠線をコードで直接変更できるようになります。

これにより、さまざまなユースケースが可能となります。小売店は店舗の場所を示すマーカーを、ブランドのカラーに合わせて変更することができます。旅行会社はホテル周辺の施設のカラーやアイコンを変更することで、ユーザーに周囲の環境に基づいて理想のホテルを選んでもらいやすくすることが可能です。また、ロジスティクス企業は、リアルタイムで変化する荷物または車両の状況を反映して、マーカーの色を変更することができます。


Google マップの赤いピンをカスタマイズしたり、SVG などの画像を使って独自のマーカーを作成

施設の場所の色やアイコンを変更するモックアップ


荷物の状態や車両の状態に応じてマーカーの色を変えるモックアップ

マーカーをカスタマイズする際には、アイコンや写真といった自身が保有する画像アセットを使用するという選択肢もあります。これにより、PNG や SVG といった HTML の「img」タグでサポートされた画像ファイルを使用することが可能となります。また、CSS を使用して高度なマーカーを動的にスタイル設定およびアニメーション化して、サイズ、不透明度、ポジション、カラーなどを変更することも可能で、これまで以上に簡単に Google マップへ動的なマーカー エクスペリエンスを追加できるようになります。これにより、たとえば、ロゴやその他のブランド アセットを使用して、ブランディングをより周到にマップに組み込むことができるようになります。

SVG 画像を使って構築され、カスタムでアニメーション化されたマーカーの見本のモックアップ


カスタム マーカーで生み出す、コンテキストに沿ったインタラクティブな体験

カスタマイズした高度なマーカーは、カスタムの HTML 要素を使用することでも作成できます。作成したマーカーは、ユーザーとのインタラクションにも対応し、高い柔軟性を持つ CSS のスタイルにも適用させることが可能です。この機能であれば、これまでは複雑なカスタム オーバーレイを使用しなければ構築が難しかった、美しく、魅力的で、インタラクティブなマーカー エクスペリエンスを生み出すことが可能となります。たとえば、不動産会社の場合は、ユーザーの操作に応じて物件の価格を表示するマーカーを作成でき、それにより、物件の住所、面積、寝室や浴室の数といった追加の有益な情報を表示することができます。


不動産会社が HTML 要素を使用したカスタム マーカーを使って物件の価格を表示する場合のサンプル

デモにアクセスして、ここで紹介したユースケースやその他のユースケースをご確認ください。 

向上したマーカーのパフォーマンスとアクセシビリティ

高度なマーカーは従来型のマーカーよりも 66% 読み込みが速く、より素早いパンやズームを提供します1。また、高度なマーカーでは、大量のマーカーに対する高速な読み込みもサポートしています。

高度なマーカーを使用した 500 のマーカーを含む地図の読み込み、パン、ズーム

さらに数多くのユーザー補助機能の改良も行いました。これにより、スクリーン リーダーやキーボードの操作を活用したユーザー向けのプロダクトを作成することが可能になりました。こうした改良により、ユーザーはマーカーをドラッグ&ドロップで移動するという操作をすべてキーボードで行うことができます。マーカーのタイトルはスクリーン リーダーで自動的に取得され、マーカーはユーザー補助ロールにデフォルト設定されます。

高度なマーカーでは、スクリーン リーダーまたはキーボードの操作を利用したプロダクトの作成が可能


高度なマーカーを使ってみる

高度なマーカーは、最近プレビュー リリースされたデータドリブンのスタイル設定と同様に、Maps JavaScript API 用 Dynamic Maps に組み込まれており、Cloud ベースのマップスタイル設定に最新の機能として追加されています。高度なマーカーの使用の開始と追加の機能についての詳細は、こちらのドキュメントと次の動画をご確認ください。

皆様が、高度なマーカーを活用して、マップ エクスペリエンスの基礎的な部分をどのように再検討されるのかを楽しみにしております。


1 高度なマーカーについて、500 のマーカーを配したマップを使って内部でベンチマーク テストを行いました。実際の結果は、高度なマーカーの構成、アプリケーションの実装、ブラウザ、ハードウェアの仕様などを含むさまざまな要因によって変わります。


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


Posted by 丸山 智康 (Tomoyasu Maruyama) - Developer Relations Engineer


この記事は Google Maps Platform プロダクト マネージャーの Erika Yamasaki による Google Cloud Blog の記事 "Announcing Routes API: the new enhanced version of the Directions and Distance Matrix APIs" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Directions API と Distance Matrix API はこの 10 年以上、A 地点から B 地点までの人やものの移動ルートをすばやく効率的に決定できるよう支援してきました。また、Google はここ数年間、運送業界や物流業界の最大手企業と密接に連携し、モビリティ サービスを通じて、カスタマー エクスペリエンスや配送業務の大規模な改善を支援してきました。Google Maps Platform チームは多くのご要望に応えて、これらの高度なルーティング機能の大半を、利用可能な国のすべての Google Maps Platform デベロッパーに提供しています。

今回、新しい Routes API のプレビュー リリースを発表しました。これは、Directions API と Distance Matrix API の拡張バージョンであり、両 API を 1 つのサービスに統合することで、より有益で柔軟なルートをユーザーに提供できるようになります。

新しい Routes API は、ビジネスにおいて重要な役割を果たしている Directions API と Distance Matrix API の基本機能に基づいて構築されています。たとえば、リアルタイムの交通量を包括的に反映する最新のルートや、複数の出発地と目的地を組み合わせた行列計算から算出される距離や到着予定時刻などです。さらに、より有益で柔軟なルートを提供し、到着予想時刻の精度を向上するために、次のような高度な新機能も備えています。

  • 二輪車(オートバイ)用ルート(利用可能な地域
  • ルートの費用をより正確に算出するための通行料金データ(利用可能な地域
  • ルートの各区間のリアルタイムの交通情報
  • 地点に通過地点と停止地点のいずれかを選択可能
  • レイテンシを低減するためのきめ細かいコントロール
  • 環境に優しいルート選択(年内に提供開始予定)

新しい Routes API はすでにご利用いただくことができます。既存の Directions APIDistance Matrix API にも引き続きアクセスできますが、Routes API では機能が追加され、パフォーマンスも強化されています。この新しい API を使用して何ができるのか、詳しく説明していきます。

より有益で柔軟なルートを提供

二輪車(オートバイ)に対応

世界の多くの地域では、配達からライドシェアリング、日常の移動に至るまで、二輪車が最も一般的な交通手段となっています。新しい Routes API では、二輪車向けのルートや距離行列の計算をリクエストでき、有料道路、高速道路、フェリーの回避、自動車が通れない道を通るルートなど、さまざまな要素が考慮されます。(利用可能な地域はこちらでご確認ください)


二輪車(オートバイ)用ルートと通行料金データの例

通行料金の計算

新しい Routes API では、お客様やお客様のユーザーに重大な経済的影響を与える可能性のある新しい重要なデータ、つまり通行料金の計算にもアクセスできるようになりました。方向と距離行列の両方のリクエストにおいて、通行料金の計算をリクエストし、十分な情報に基づいて時間と費用のトレードオフに関する決定を下せるようになりました。通行料金データでは、車両の種類(EV、ハイブリッドなど)や通行券の種類が考慮されて、ルートの費用がより正確に計算されます。(利用可能な地域はこちらでご確認ください)


通行料金データを使ったルートの例

交通量とポリライン機能の改善

交通量は、消費者にとっても企業にとっても、ルーティングの決定に影響を与える最大の要因の 1 つです。新しい Routes API では、ルート計算で現在の交通量と過去の交通量のどちらを考慮するかを指定できます。また、交通量やポリラインの品質と遅延の間のトレードオフをコントロールすることもできます。

さらに、ルートの各区間の交通情報をリクエストすることもできるため、色分けされたポリラインで交通量を表すなど、より充実したエクスペリエンスをユーザーに提供できます。ポリラインの長さに応じたカスタムカラー、ストローク、パターンをサポートする高度なポリライン スタイルを使用して、地図上でルートのスタイルを設定することもできます。


ルート上の各区間のリアルタイムの交通状況の表示例


きめ細かいコントロールで遅延を短縮

新しい Routes API では、アプリのパフォーマンスを向上するための追加オプションが導入されています。Routes API は、既存の Directions API と Distance Matrix API よりさらにパフォーマンスが高く、総合的な精度と遅延の短縮との間のトレードオフを可能にする機能を備えています。フィールド マスキングを使用すると、API レスポンスで返されるフィールド(到着予定時刻、メートル単位の距離、交通状況など)を選択できます。これにより、レスポンスのペイロードのサイズを抑えてレスポンスを簡素化することができ、簡単に処理できるようになります。

よりスマートかつ柔軟な経由地点(ウェイポイント)で到着予想時刻の精度を向上

新しい Routes API では、よりスマートになったウェイポイントにより、到着予想時刻の精度も向上しています。ルート内の経由地点では、その地点を通過するか停止するかの指定ができるようになり、移動時間の計算がより正確になります。トンネルや高速道路など、停車が安全でない場所にユーザーが誘導されるのを回避できるため、これは特に送迎のユースケースに有効です。さらに、道路のどちら側が適切かをウェイポイントに指定したり、経由地点ごとに車両の現在の進行方向や適切な進行方向を指定できるため、送迎などの際に適切なルート案内が行えます。

停車すると危険なトンネル内でドライバーを停車させるルートの例



トンネルから離れた近くの脇道でドライバーを停車させる中間ウェイポイントの代表的な例


Routes API では、距離行列リクエストの出発地と目的地の数を増やし、出発地と目的地の各上限(25 個)を排除しました。最大で合計 625 個の要素が返されるように設定できるため、柔軟性が大幅に向上しています。

近日提供予定 : 環境に優しいルート選択でより持続可能な選択を可能に

今後数か月以内に、開発者向けに環境に優しいルート選択の提供を開始します。これにより、米国エネルギー省の国立再生可能エネルギー研究所の分析情報と欧州環境機関のデータを使用して、燃料消費を抑えるために最適化されたルートを見つけられるようになります。燃料効率の最も良いルートは、リアルタイムの交通量とエンジンの種類に基づいて決まります。環境に優しいルート選択を使用するドライバーは、エンジンの種類(ガソリン、ガス、ディーゼル、ハイブリッド、電気自動車(EV))を選択することで、最適なルートと、燃料やエネルギー効率の正確な見積もりを取得できます。

たとえば、配送業者やライドシェアリング サービスは、1 回の走行、複数回の走行、保有する車両全体の燃料消費量と節約量を測定できるため、ビジネス パフォーマンスを向上させることが可能です。今後数か月以内に、Google マップ上の利用可能な地域で、環境に優しいルート選択のプレビュー版の提供が開始されます。登録して最新情報を受け取ることができます。


環境に優しいルート選択と燃料節約量の見積もりの例

Routes API は現在プレビュー版のみが提供されており、この期間中のご利用に対してユーザーに課金されることはありません。料金の詳細については、Routes API の一般提供開始時にお知らせします。既存の Directions API と Distance Matrix API の価格に変更はなく、料金ページでご確認いただけます。

ユーザー エクスペリエンスの向上を図っている場合も、現実世界に関する Google の情報を基に、ビジネスにおいてより多くの情報に基づいた正確な意思決定を下すことを目指している場合も、これらの API は、さまざまなユースケースを解決するために必要な機能とパフォーマンスを提供するよう構築されています。

まずは、ドキュメント移行ガイドをご覧ください。実際にお試しいただく場合や、詳細を確認したい場合は、ライブデモをご覧ください。

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


Posted by 丸山 智康 (Tomoyasu Maruyama) - Developer Relations Team 


この記事は Google Maps Platform グループ プロダクト マネージャーの Shalin Mantri による Google Cloud Blog の記事 "Announcing new routing, address validation and map customization capabilities" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Google Maps Platform では、デベロッパーの皆様が革新的な地理空間情報を活用したサービス構築が行えるよう、便利な新機能の継続的な開発や提供に努めています。たとえば、一般ユーザーが毎日使用している Google マップの最新のイノベーションを API として提供したり、ご要望の多い機能をプラットフォームに追加しています。このたび、新しい Routes API で「環境に優しいルート選択」の提供を開始することを発表致します。Google マップのユーザーアプリですでに利用することができる環境に優しいルート選択を使用すると、燃料消費を抑えるように最適化されたルートを選択できます。さらに、世界中のデベロッパーから多くの要望が寄せられた、高度なルート選択、地図のカスタマイズ、住所確認などの新機能も発表します。これらの新機能を使用すると、アカウントの登録時や決済時にユーザーの住所を確認したり、より有益で柔軟なルートをドライバーに提供したり、高度にカスタマイズされたマーカーを作成できるため、ユーザー エクスペリエンスが向上し、業務効率が高まります。

より有益かつ柔軟な、環境に優しいルートの提示

Google はここ数年間、運送業界や物流業界の最大手企業と密接に連携し、モビリティ サービスを通じて、カスタマー エクスペリエンスや配送業務の大規模な改善を支援してきました。このたび多数のご要望にお応えして、これらの高度なルート選択機能の多くを、環境に優しいルート選択とともに、利用可能な国のすべての Google Maps Platform デベロッパー向けにリリースいたします。

環境に優しいルート選択で、より一層サステナブルなナビゲーションと、燃料消費を抑えるための最適化を実現

ドライバーが Google マップで環境に優しいルート選択を利用すると、米国エネルギー省の国立再生可能エネルギー研究所の分析情報と欧州環境機関のデータに基づいて、最も燃料効率が良いルートを見つけることができます。リリース以来、削減してきた二酸化炭素排出量は推定で 50 万トン以上にのぼります。これは、燃料自動車 10 万台分の二酸化炭素排出量削減に相当します。年内には、環境に優しいルート選択をデベロッパー向けに提供開始できる見込みです。

これにより、環境に優しいルート選択を有効にするオプションを製品やアプリに組み込んで、燃料消費の節約に貢献できるようになります。エンジンの種類を選択し、リアルタイムの交通情報を有効にすると、環境に優しいルート選択を使用した場合の燃料効率やエネルギー効率を、最も正確に見積もることができます。たとえば、配送業者やライドシェアリング サービスは、燃料消費量と節約量を 1 回の走行、複数回の走行、あるいは保有する車両全体で測定して、業績の向上につなげられます。

環境に優しいルート選択は、Google マップですでに利用可能となっている場所で、数か月以内にプレビュー版の提供が開始されます。登録すると最新情報を受け取ることができます。

環境に優しいルート選択と燃料節約量の見積もりの例を示すサンプル


新しい Routes API でより有益かつ柔軟なルートを提供

今回、さらに、新しい Routes API のプレビュー リリースを発表します。これは、Directions API と Distance Matrix API のパフォーマンスを最適化したバージョンであり、デベロッパーはより有益で柔軟なルートをユーザーに提供できるようになります。

新しい Routes API は、ビジネスにおいて重要な役割を果たしている Directions API と Distance Matrix API の基本機能に基づいて構築されています。たとえば、リアルタイムの交通量を反映する最新のルートや、複数の出発地と目的地を組み合わせた複雑な行列計算から算出される距離や到着予定時刻などの機能です。さらに、より有益で柔軟なルートを提供し、到着予想時刻の精度を向上するために、次のような高度な新機能も備えています。

新しい Routes API は、プレビュー版で提供を開始しました。この新しい API の機能と利点について詳しくは、プロダクトのブログをご覧ください。

オートバイ用ルートと通行料金データの例を示すサンプル


Address Validation でアカウント登録、決済、配送を改善

住所は、人や場所を見つけるだけではなく、商品を配達し、銀行口座を開設するためにも必要なものです。しかし、無効な住所データは、ビジネスの時間や費用の浪費につながることがあります。最近の調査では、オンライン注文での住所の誤字や脱字は、その大半が住所確認ツールを導入していれば回避できていたことが明らかになっています1。この問題を解決するため、無効な住所入力の検出に役立つ新しい API、Address Validation の提供を開始します。Address Validation は、住所の構成要素の特定、エラーの修正、住所に不足しているデータの補完によって、注文のキャンセル、カスタマー サポート チケットの発行、払い戻しを防ぐためのツールです。これには、グローバルに収集されている Google Maps Platform のプレイスデータ、Google が蓄積している幅広い地域の住所情報、広範囲の住所が網羅されている米国内の郵便データが活用されています。Address Validation を導入すると、アカウント登録や決済がスムーズになるため、ユーザー エクスペリエンスが向上し、ビジネスの時間や費用を節約できます。

Address Validation は、今後数か月以内に一部の市場で一般提供が開始される予定です。登録すると最新情報を受け取ることができます。

Address Validation が住所の構成要素を識別し、住所が存在することを確認

「高度なマーカー」で独自のマーカーを作成

デフォルトの赤いピンをコード内で簡単にカスタマイズする機能と、SVG 要素と HTML 要素を使用してカスタム マーカーを作成する機能は、いずれもデベロッパーからの要望が特に多かった機能です。このたび、このオプションを備えた Maps JavaScript API 用の「高度なマーカー」のプレビュー リリースを発表いたします。 

高度なマーカーを使用すると、Google マップの赤いピンを簡単にカスタマイズできます。デフォルトのピンの色、背景、アイコン、枠線をコードで直接変更でき、画像は必要ありません。SVG を直接的にサポートしているため、ブランドのロゴなどの画像を使用してカスタム マーカーを作成できます。また、CSS を最大限に活用して、ユーザーの操作に反応する HTML 要素を使用したカスタム マーカーを作成できます。たとえば、不動産業の場合は、ユーザーの操作に応じて住宅価格を表示するマーカーを作成できます。高度なマーカーを使うと、作業効率も向上します。読み込みが速くなり、パンやズームがよりスムーズになるうえ、豊富な種類のマーカーを高速で読み込んでお使いいただけます。


カスタム HTML 要素を使用して作成された高度なマーカーのサンプル


高度なマーカーは、最近プレビュー リリースしたデータドリブンのスタイル設定と同様に、Maps JavaScript API 用 Dynamic Maps に組み込まれており、クラウドベースのマップのスタイル設定に最新の機能として追加されています。JavaScript 用の高度なマーカーは、数週間後にプレビュー版の提供が開始される予定です。登録すると最新情報を受け取ることができます。

Google は、デベロッパーの皆様が Google Maps Platform を使用して構築する、現実世界を体現したクリエイティブで革新的な地理空間サービスから、絶えず新しい着想をいただいています。今後も皆様からのフィードバックに耳を傾け、優れた体験を実現するために必要な機能を提供できるよう、尽力してまいります。新しい機能の提供開始に関する最新情報を受け取るには、こちらからご登録ください。皆様が構築されるサービスを楽しみにしております。

1 Baymard: "Have an address validator"(住所確認ツールを利用する)


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


Posted by 丸山 智康 (Tomoyasu Maruyama) - Developer Relations Engineer 


Share on Twitter Share on Facebook

 DisplayMediaStreamConstraints.selfBrowserSurface

ヒントを使うと、getDisplayMedia() を呼び出す際に、ウェブ アプリケーションがユーザーに提示するタブの一覧から現在のタブを除外するかどうかをブラウザに指示できます。

これにより、ユーザーがアプリを実行しているタブを意図せずに選択し、自分自身がキャプチャされることを防ぎます。そのため、映像がループする現象が起きて、ユーザーが混乱したり、リモートユーザーとの議論が中断されたりすることはなくなります。

 DisplayMediaStreamConstraints.surfaceSwitching

Chrome で画面共有をしているときに、タブ切り替えボタンを表示するかどうかをプログラムで制御するオプションを追加します。このオプションは、navigator.mediaDevices.getDisplayMedia() に渡します。

[Share this tab instead] ボタンを使うと、ユーザーは共有するタブをシームレスに切り替えることができます。ビデオ会議タブを再選択し、ボタンをクリックして再度 getDisplayMedia() を開始したり、多くのタブが表示される一覧から新しいタブを選択したりする必要はありません。すべてのウェブ アプリケーションがこの動作に対応しているわけではないので、この動作は条件に応じて公開されます。

 MediaTrackConstraintSet.displaySurface

getDisplayMedia() を呼び出すと、ブラウザでタブ、ウィンドウ、モニターといったディスプレイ サーフェスを選択する画面がユーザーに提示されます。displaySurface 定数を使ってウェブ アプリケーションからブラウザにヒントを与えると、特定の種類のサーフェスを優先的に提示できます。

以上の機能は、意図しない画面共有を防ぐうえで役立ちます。詳しくはこちらで説明しています。

 Resource Timing のレンダリング ブロック状態

PerfomanceResourceTiming に、リソースのレンダリングのブロック状態を示すフィールドを追加します。現在、デベロッパーが実際にレンダリングのブロックが起きているリソースを知りたい場合、複雑な経験則を使用するしかありません。この新しいフィールドから、これを直接把握できるようになります。

 権限ポリシー オリジンのワイルドカード

この機能により、権限ポリシーでワイルドカードがサポートされます。たとえば、SCHEME://*.HOST:PORT(https://*.foo.com/ など)のような構造です。この場合、有効なオリジンは SCHEME://HOST:PORT(https://foo.com/など)から構築されます。HOST は少なくとも eTLD+1(登録可能なドメイン)である必要があります。つまり、https://*.bar.foo.com/ は指定できますが、https://*.com/ は指定できません。スキーム部とポート部のワイルドカード指定はサポートされません。また、https://*.foo.com/ には https://foo.com/ は含まれません。これまで、権限ポリシーは次のようになっている必要がありました。

permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://cdn1.foo.com" "https://cdn2.foo.com")   

この機能が導入されたことで、次のようにすることができます。

permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://*.foo.com")   

 <form> 要素が rel 属性をサポート

この機能はフォーム要素に rel 属性を追加します。これにより、rel=noopener が指定されているフォーム要素から開くウェブサイトで window.opener が利用できなくなります。また、rel=noreferrer を使ってリファラー ヘッダーが送られることを防ぐこともできます。

 オリジン トライアル

今回のリリースの Chrome には、2 つの新しいオリジン トライアルが含まれています。

 Declarative PendingBeacon API

これはステートフル ビーコン API の 1 つで、ビーコンの送信タイミングをブラウザで制御できるようにします。 ビーコン とは、特定のレスポンスを求めずにバックエンド サーバーに送信するデータの集まりを指します。ユーザーがページを訪問し終わった後にこのデータを送信したいというニーズは多いものの、"send" 呼び出しをする適切なタイミングがありません。この API は、送信処理をブラウザ自身に委譲するので、ページがアンロードされたときやページが非表示になったときのビーコンをサポートでき、デベロッパーがそのタイミングで送信処理を実装する必要はなくなります。

このトライアルは、Chrome 109 まで行われる予定です。トライアルへの登録はこちらから行うことができます

 Permissions-Policy: unload

この機能を使うと、ページで unload イベント ハンドラが実行できなくなります。この機能の目的は、すべての unload ハンドラを削除したサイトで、意図しないハンドラが新しく追加されないようにすることです。この機能はサイトを unload イベント ハンドラを使わないように移行する際に活用でき、BFCache のヒット率改善につながります。

このトライアルは、Chrome 109 まで行われる予定です。トライアルへの登録はこちらから行うことができます

 サポートの終了と機能の削除

このバージョンの Chrome では、以下のサポートの終了と機能の削除が行われます。サポートの終了が予定されている機能、現在サポートが終了している機能、以前に削除された機能のリストは、ChromeStatus.com をご覧ください。

今回の Chrome のリリースでは、1 つの機能のサポートが終了します。

 Expect-CT

Expect-CT HTTP ヘッダーは、デフォルトで Certificate Transparency が必須化される前に、ウェブサイトがこれをオプトインできるようにします。また、報告機能も提供されるので、デベロッパーが CT の設定ミスを見つけるうえでも役立ちます。

Expect-CT HTTP ヘッダーは、Certificate Transparency(CT)の必須化に向けた移行に役立つように設計されました。具体的には、すべての公開ウェブサイトで CT が必須化される(Chrome により)前に、高価値なウェブサイトが CT の必須化をオプトインしたり、高いセキュリティに対応していることを報告したりできるようにするものでした。ただし、Expect-CT はすでに存在意義を失っています。現在の Chrome では、すべての公開サイトで CT が必須になっているので、すでに Expect-CT は必要ありません。Expect-CT は他のブラウザでも実装されていないので、これを削除しても互換性の問題は発生しません。



Posted by Eiji Kitamura - Developer Relations Team
Share on Twitter Share on Facebook


Posted by Eiji Kitamura - Developer Relations Team
Share on Twitter Share on Facebook


2022 年 6 月に実施いたしましたプログラムが大変好評でしたため、第 2 弾の実施が決定いたしました。本プログラムは、学習ツール「Google Cloud Skills Boost」を使って Google Cloud をコミュニティと一緒に学ぶ、無料のプログラムです。

今回、コミュニティ主催のイベントでは、 サーバーレス、コンテナ を中心としたラボを扱います。本プログラム参加者は、Google Cloud Skills Boost (以下、Skills Boost )を 30 日間無料で利用できます。


プログラム 概要


※ Skills Boost を初めてご利用いただく方にもご安心いただけるように、オンボーディング セッションとして Skills Boost 使い方説明 をオンラインで実施します。(本セッションは、アーカイブでもご覧いただけます。セッションに参加できなくても、プログラムに参加して学習することは可能です)

Skills Boost スキルバッジ獲得者特典

  1. スキルバッジを獲得した先着 1000 名様に、Google Cloud 特製トートバックをプレゼント
  2. スキルバッジを獲得した先着 200 名様に、Google Cloud 特製トートバックと PC 保護ケースをプレゼント

Google Cloud Innovators メンバー向け追加オファー

Innovators メンバーの方、もしくは期間中に Innovators メンバーにご登録いただき、本プログラムでスキルバッジを 1 つ以上獲得された方には、上記プレゼントに加え、認定資格バウチャー 1 回分(日本語試験のみ)をプレゼントいたします!

コミュニティやグループを主催する方、チューターとして参加を希望する方

こちらからご登録ください。また、本プログラムにも必ずご登録ください。

コミュニティ主催の勉強会は随時情報を更新していきます。

これから Google Cloud を学びたい方は、ぜひご参加ください。

お申し込みはこちらからお願いします。


同僚や知り合いの方にぜひシェアしてください。

#みんなで学ぼうGoogleCloud


Posted by Takuo Suzuki - Developer Relations Team
Share on Twitter Share on Facebook

  • 認証済み電話番号(Android)
  • 電話番号ヒント(Android)

ウェブ
  • Intelligent Tracking Prevention(ITP)ブラウザでの One Tap

iOS と macOS
  • macOS サポートの追加

Android

認証済み電話番号

ID プロバイダである私たちは、操作にユーザーの明確な同意を織り込みつつ、ユーザーの Google アカウントを活用して、デベロッパーに追加のユーザーデータをシームレスに提供できるようにする作業を進めています。電話番号がアカウント管理の重要な要素であることは承知しています。この点は、モバイルファーストのマーケットにあるユーザーにとっても、ID 認証や 2 要素認証の必要性が高まっているデベロッパーにとっても言えることです。

Android デバイスでは、デベロッパー側から、Google アカウントに紐付けられた認証済み電話番号を共有することを登録フローの一環としてユーザーにリクエストできるようになります。デベロッパーからは、SMS 認証でユーザーを保護するには大きなコストが必要だという声が寄せられています。今回、デベロッパーは簡単にユーザーに電話番号をリクエストできるようになります。この電話番号は Google が検証を済ませているものです。これにより、オンボーディング プロセス全体で SMS のコストを削減できます。

認証済み電話番号は、現在 Android 版 GIS で利用できます。今後、他のプラットフォームにも展開する予定です。


電話番号ヒント

デベロッパーがユーザーの電話番号をリクエストするもう 1 つの方法は、Android デバイスで新しい Phone Number Hint API を使うことです。デベロッパーが Phone Number Hint API を呼び出すと、ユーザーはデバイスの SIM カードの電話番号を共有できます。これは、登録やログインのフローとは関係なく利用できます。この API には追加のパーミッションは不要なので、ネイティブ Android API を呼び出す方法よりもお勧めです。デベロッパーは時間と作業量を減らすことができます。Phone Number Hint API は、ユーザーが Google アカウントにログインしていなくても利用できます。Google アカウントに情報が保存されることもありません。

ウェブ

ITP ブラウザの One Tap

ITP(Intelligent Tracking Prevention)ブラウザでは、サードパーティ Cookie の利用が制限されるので、ウェブでユーザーがトラッキングされることはありません。今回、iOS 版の Safari、Firefox、Chrome などの ITP ブラウザで、GIS One Tap が利用できるようになります。これにより、ユーザーとデベロッパーの両方のために、複数のプラットフォームで一貫したワンタップ操作を実現します。デベロッパーは、次のようなさまざまな理由で One Tap の利用を好んでいます。
  • ユーザーのコンバージョンの増加
  • 業界をリードするセキュリティ
  • パスワード管理に伴うリスクの削減
  • 専用のログインページや登録ページにリダイレクトせずにログインや登録を実現
  • パーソナライズしたプロンプトによる重複アカウントの削減と再訪ユーザーの自動ログイン

ITP ブラウザでの One Tap の UX は、次のようなウェルカム ページから始まります。

ユーザーが続行することを選ぶと、ポップアップ ウィンドウが開きます。ポップアップ ウィンドウの UX は、標準の One Tap ユーザー エクスペリエンスと同じです。


この新機能は、One Tap を有効にしているすべてのデベロッパーを対象に、2022 年 10 月 12 日にデフォルトとしてロールアウトされる予定です。さっそく ITP ブラウザで One Tap のサポートを始めたい方や、デフォルトのサポートをオプトアウトしたい方は、ドキュメントをご覧ください。

iOS と macOS

macOS プラットフォーム拡張

この数年間で Apple のエコシステムは拡大し、多くの異なるプラットフォーム(iOS、iPadOS、macOS、tvOS、watchOS)が含まれるようになりました。そこで、Apple エコシステムのサポート拡大に向けて、iOS と macOS 向け Google ログインの一環として、macOS サポートをリリースします。これにより、ネイティブ macOS アプリで中核的な GIS 操作(認証、認可、トークンの保存)がサポートされるようになります。

サポートの終了

サポートの終了予定

GIS ライブラリで利用できる新機能に加えて、今後のサポートの終了予定についてもお知らせします。
  • Android での Smart Lock for Passwords のサポート終了
  • ウェブサイト向け Google ログインのサポート終了 

Smart Lock for Passwords のサポート終了

Smart Lock for Passwords Android SDK のサポートが終了します。この機能は、パスワードの保存と取得、ID トークンのリクエスト、ログインヒントの取得をします。GIS ライブラリでは、Smart Lock for Passwords のすべての機能を利用できます。すべてのデベロッパーの皆さんには、新しい機能用に GIS ライブラリを使うことをお勧めします。既存の統合機能の Smart Lock for Passwords トラフィックは、デフォルトで GIS ライブラリにリダイレクトされます。デベロッパーによる変更作業は必要ありません。

ウェブサイト向け Google ログインのサポート終了

再度のお知らせになりますが、ウェブ アプリケーション向けの Google ログイン JavaScript プラットフォーム ライブラリは 2023 年 3 月 31 日に完全に提供が終了します。このサポート終了が皆さんのウェブ アプリケーションに影響しないことを確認してください。必要な場合には、移行の計画を立ててください。

以上の新機能が、デベロッパーとユーザーの両方に大きな価値を提供し続けることを期待しています。今後もデベロッパーの皆さんの ID 関連のニーズにお応えできることを楽しみにしています。詳しい使い方は、デベロッパー サイトをご覧ください。


Posted by Eiji Kitamura - Developer Relations Team
Share on Twitter Share on Facebook



この記事は Google Maps Platform Developer Marketing の Ahsan Ashraf による Google Cloud Blog の記事 "Test your skills in the Google Maps Platform Hackathon" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

デベロッパー、イノベーター、データ サイエンティスト、デザイナー、教育者、及び Google Maps Platform ファンの皆さん、Google Maps Platform を活用し、皆さんのアイデアを形にして、披露しませんか。このハッカソンの課題はシンプルです。ご自身が情熱を注いでいる分野で何かを構築または展開し、Google Maps Platform を活用して独自のエクスペリエンスを生み出してください。

このハッカソンへの応募は、11 月 14 日まで Devpost で受け付けています。受賞者は最大で大賞が 4 名、審査員特別賞が 4 名であり、賞金総額は $24,000(USD)です。

応募方法

Devpost にアクセスして、ご自分のプロジェクトを入力して送信してください。利用可能なツールやリソースをぜひご活用ください。

ここでは、知っておいていただきたい主なルールをいくつかご紹介します。

  1. GitHub プロジェクトのコード リポジトリには、オープンソース ライセンスが含まれ、少なくとも 2 つの Google Maps Platform API を使用する必要があります。
  2. ご自分のプロジェクトを短い動画(3 分以内)でアピールしてください。
  3. プロジェクトの選考を希望するカテゴリを選んでください。

参加資格をはじめとする公式ルールや必要条件は、ハッカソンのページをご確認ください。ぜひデモギャラリーもご覧ください。

ご健闘をお祈りいたします。皆さんが Google Maps Platform で何を構築されるのか、今から楽しみにしています。

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


Posted by 丸山 智康 (Tomoyasu Maruyama) - Developer Relations Engineer 
Share on Twitter Share on Facebook


この記事は Developer Advocate の Alex Muramoto による Google Cloud Blog の記事 "Announcing Advanced Polylines for the Maps SDKs for Android" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

デベロッパーによる Google マップの基本地図のスタイル設定とカスタマイズを可能にする継続的な取り組みの一環として、この度、Maps SDK for Android 向けの高度なポリラインのスタイル設定の提供を開始することを発表します。この機能は、現在 Google が提供しているポリライン機能の上に構築されています。デベロッパーはこの機能を使って、地図上に表示される定型の線を作成できます。こうした定型の線は、経路、パレードルート、通行止めなどの情報を表すためによく使用されます。ポリラインは、Google Maps Platform のデベロッパーが、ユーザー向けに地図をカスタマイズする際に最もよく使う機能の一つです。

高度なポリラインのスタイル設定では、マルチカラー ポリライン、グラデーションのポリライン、スタンプ型ポリラインの 3 つの新しいポリラインのカスタマイズを導入することで、ポリラインのコア機能をより豊かに、表現力のあるものにできます。

高度なポリラインのスタイル設定は、最新のレンダラを有効にしたバージョン 18.1.0 以降の Maps SDK for Android とバージョン 5.2.0 の Maps SDK for iOS において、利用可能です。

マルチカラー ポリライン

マルチカラー ポリラインを使うと、ポリラインをセグメント化し、各セグメントに異なる色を適用して情報を表現することができます。このカスタマイズは、経路上のさまざまな情報を伝える、季節のキャンペーンで企業のブランディングに合わせる、あるエリアに注目を集めるなど、さまざまなユースケースで活用できます。

マルチカラー ポリラインを使用するには、`StyleSpan` オブジェクトを作成し、`addSpan()` または `addSpans()` メソッドを `PolylineOptions` に追加します。デフォルトでは、配列の各アイテムが対応する線分の色に設定されます。次の例では、セグメントの色を設定して、緑と紫(マゼンタ)のセグメントを持つポリラインを作成しています。

 Polyline line = map.addPolyline(new PolylineOptions()

        .add(new LatLng(37.789258, -122.387819),

          new LatLng(37.786572, -122.390556),

          new LatLng(37.786140, -122.390899))

        .addSpan(new StyleSpan(Color.MAGENTA))

        .addSpan(new StyleSpan(Color.GREEN))

      );

グラデーションのポリライン

グラデーションのポリラインは、ポリライン全体に 2 色のグラデーションを適用します。交通の流れや標高の変化など、強弱の変化を表現するのに便利です。

グラデーション ポリラインを使用するには、ポリラインの開始色と終了色を設定する 2 つの 32 ビットの ARGB(alpha、red、green、blue)値を指定してグラデーションを定義し、次に `PolylineOptions.addSpan()` を呼び出して、このプロパティを図形のオプション オブジェクトに設定します。

以下は、サンフランシスコからランチョ コラール デ ティエラまでのグラデーション ポリラインを作成する例です。

 Polyline line = map.addPolyline(new PolylineOptions()

        .add(new LatLng(37.662953, -122.400542), new LatLng(37.5414277, -122.4845455))

        .addSpan(new StyleSpan(StrokeStyle.gradientBuilder(Color.GREEN, Color.RED).build())));

スタンプ型ポリライン

スタンプ型ポリラインを使うと、選択したビットマップ画像を繰り返し使ってポリラインを作成できます。これにより、図形とポリラインの外観のカスタマイズが可能になります。

スタンプ型ポリラインを使用するには、`TextureStyle` の `StampStyle` を作成して、ポリラインの外観をビットマップ テクスチャの繰り返しに設定します。このプロパティは、`PolylineOptions.addSpan()` を呼び出すことで、図形のオプション オブジェクトに設定できます。

 StampStyle stampStyle = TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.arrow)).build();

Polyline line = map.addPolyline(

new PolylineOptions()

.add(

new LatLng(37.789258, -122.387819), 

new LatLng(37.786572, -122.390556), 

new LatLng(37.786140, -122.390899))

.addSpan(new StyleSpan(StrokeStyle.colorBuilder(Color.BLUE).stamp(stampStyle).build()))

.addSpan(new StyleSpan(StrokeStyle.colorBuilder(Color.YELLOW).stamp(stampStyle).build()))

);

スタイル設定とカスタマイズ機能は、ユーザーにより良いマッピング サービスを提供し、重要な情報を伝え、独自の地図を作り上げるために、最適かつ最も簡単な方法の一つです。最近リリースしたクラウドベースのマップスタイル設定、データドリブンのスタイル設定、WebGL を活用したマップ機能などのスタイル設定やカスタマイズ機能はもちろんのこと、Google Maps Platform チームは、それぞれのニーズを満たす柔軟性を備えた素晴らしいマッピング サービスを提供するツールをお届けできるよう、取り組みを続けています。この新しい、マップ上のポリラインのカスタマイズとスタイル設定をぜひご活用ください。

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


Posted by 丸山 智康 (Tomoyasu Maruyama) - Developer Relations Engineer 
Share on Twitter Share on Facebook

2020 年に、Chrome Root Program と Chrome Root Store の導入に向けた初期段階にあることをお知らせしました。

Chrome Root Program は、Chrome がデフォルトの状態でどのウェブサイトの証明書を信頼するかを決定し、さまざまなプラットフォームでウェブサイトの証明書検証の一貫性と信頼性を向上します。

この投稿では、この変更の最新の進捗状況とともに、それがどのように Chrome ユーザーの保護強化につながるのかについてお伝えします。

ルートストア、ルート プログラムとは

Chrome は、ユーザーの接続が安全でプライバシーが守られることを保証するために、デジタル証明書(多くの場合、「証明書」、「HTTPS 証明書」、「サーバー認証証明書」と呼ばれます)を使います。証明書にはドメイン名と公開鍵を結び付ける役割があり、Chrome はその公開鍵を使って対象のウェブサイトとやり取りするデータを暗号化します。

Chrome は、ウェブサイトとの間で安全な接続を確立する作業の一環として、証明書が「認証局」(CA)と呼ばれる信頼できる機関によって発行されたものであることを検証します。Chrome やユーザーのローカル設定が認識していない CA が発行した証明書が使われると、ユーザーに警告ページやエラーページが表示される場合があります。

ルートストアは「トラストストア」とも呼ばれ、信頼できる認証局についての情報をオペレーティング システムやアプリケーションに提供します。Chrome Root Store には一連のルート CA 証明書が含まれており、Chrome はデフォルトの状態でその一連の証明書を信頼します。

ルート プログラムは、対応するルートストアの管理に必要な要件やセキュリティ審査の機能を定めるためのガバナンス構造です。Chrome Root Program の責任者は、Chrome セキュリティ チームのメンバーです。Chrome Root Store に含める CA の最小要件を定めたプログラム ポリシーは、こちらで公開されています。

Chrome でこの変更をする理由

これまでの Chrome では、Chrome が実行されているプラットフォームが提供するルートストアと証明書検証プロセスを使っていました。しかし、Chrome Root Store に移行して、さまざまなプラットフォーム上の Chrome が信頼する CA を標準化し、Chrome Certificate Verifier を使って一貫した証明書検証を行えば、ユーザーやデベロッパーの体験の一貫性が向上します。

Chrome Root Program の導入は、Web PKI エコシステムへの参画と改善を継続的に推進する姿勢を表明することにもなります。ウェブサイトの所有者は、ACME などの技術革新のおかげで、これまで以上に簡単に HTTPS 証明書を取得できるようになっています。Certificate Transparency などのテクノロジーによって説明責任と透過性が増しているので、Chrome ユーザーのセキュリティはさらに向上しています。こういった機能強化はコミュニティの連携によってのみ実現できるものであり、それによってウェブの安全性は向上します。しかし、実現すべきことはまだあります。

私たちは CA の所有者と連携して、次世代の Web PKI の定義と運用に向かおうとしています。今後のビジョンには、信頼性が高くアジャイルな最新の目的主導型 PKI によって自動化、簡素化、安全性強化を進めることなどが含まれています。Chrome Root Program とそれに対応するポリシーは、このような目的を実現できるように構築しています。


変更のタイミング

「ロールアウト」は、新機能を徐々に公開することで行います。スムーズに実施するため、新機能をすべてのユーザーに一度に公開しない場合もあります。その場合は、予期しない互換性の問題を最低限にとどめるため、まず一部のユーザーに公開し、時間をかけながら徐々に公開する比率を増やします。Windows と macOS での Chrome Root Store と Certificate Verifier のロールアウトは、Chrome 105 から始まり、その後、他のプラットフォーム向けにロールアウトします。

Windows と macOS では、こちらの手順に従うことで、前述のロールアウトに先駆けてテストを実施できます。


変更による影響

ほとんどのユーザー、企業、CA 所有者は、Chrome Root Store と Certificate Verifier への移行をスムーズに進められるはずです。


Chrome Certificate Verifier の証明書検証プロセスでは、ローカルで管理する証明書も考慮されます。つまり、企業で(Windows Group Policy Object などを通して)ユーザーが信頼できるルート CA 証明書を配布している場合、Chrome もそれを信頼します。


トラブルシューティングの手順やその他のよくある質問は、こちらをご覧ください。

次のステップ

Web PKI の将来がどんなものになるかは、私たちにもまだ正確にはわかりません。それでも、スピード、セキュリティ、安定性、シンプルさを向上させる変更を、エコシステム全体で推進することに集中したいと考えています。


Chrome チームは、その点を念頭に置いて、以下の取り組みに関連する今後のルート プログラムのポリシー要件の導入について検討を続けています。
  • 最新インフラとアジリティの推進
  • シンプルさの重視
  • 自動化の推進
  • 誤発行の削減
  • 説明責任とエコシステムの整合性の向上
  • ドメイン検証手続きの効率化と改善
  • 量子後」の世界に向けた準備
CA/Browser Forum などの Web PKI エコシステムのメンバーとともに、インターネットを安全な場所にする取り組みを継続できることを楽しみにしています。

Posted by Eiji Kitamura - Developer Relations Team
Share on Twitter Share on Facebook

Google は Android 初級者と中級者向けに、コミュニティと一緒に学ぶ無料のオンライン プログラム「Compose Camp」を 2022 年 10 月 4 日(火)から 12 月 30 日(金)の期間中に開催します。

本プログラムではオンライン学習ツール Pathways を用いて、コミュニティで一緒に学ぶ、無料のオンライン プログラムです。今回は初級者向けと中級者向けの 2 トラックよりお選びいただけます。

① 初級者向け : Compose を用いた Android アプリ開発

Android アプリ作成の新しい UI ツールキットである Jetpack Compose を使用して Android アプリを作成するための基礎を学びます。コースを通してさまざまなアプリを開発し、Android デベロッパーになるための一歩を踏み出しましょう。

② 中級者向け : Android デベロッパー向けの Jetpack Compose

Jetpack Compose を使用して Android のネイティブ UI を作成する方法を学習します。Compose が、少ないコード、パワフルなツール、直感的な Kotlin API を使用して、Android での UI 開発を簡素化し、加速する方法を確認します。


お申し込みはこちら

Compose Camp の流れ :

  1. Compose Camp ウェブサイト上部の "Register" ボタンから参加登録
  2. Google Developers Profile をお持ちでない場合)Google Developers アカウントのセットアップ
    https://developers.google.com/ へアクセスし、Developer Profile を作成いただけます。
  3. 初級者向けまたは中級者向け Pathway を完了しましょう。
    ※ 10 月 4 日(火) ~ 12 月 30 日 (金)の期間内にバッジを獲得された方のみ、グッズ企画の対象となりますので、ぜひ期間中にバッジを獲得してみましょう!
  4. 期間内にクイズを受講し、バッジを獲得
  5. 先着順でグッズ企画のキャンペーンに応募


プログラム概要

プログラム期間 : 10 月 4 日(火) ~ 12 月 30 日 (金)

対象 :

  • 初級者向けコース : Android, Compose を学びたい大学生以上の方
    • Android を触ったことがない方も大歓迎
  • 中級者向けコース : Android 開発経験者
    • Kotlin を使ったプログラミング経験
    • Android Studio に精通していること

費用 : 無料

実施方法 : オンライン

参加特典 : 本プログラムに登録しプログラムを修了した参加者には、Android 限定グッズをプレゼントいたします。


コミュニティ支援

1 人ではなかなか思うように勉強が進まない方を支援することを目的とした、勉強会を開催するコミュニティを募集します。コミュニティが主催する勉強会に参加することで、1 人では解決しなかった課題などを解決しましょう。

コミュニティ主催の勉強会の情報は随時こちらのブログで更新していきます。また主催者となって勉強会を開催してくださるコミュにティのオーガナイザーの方には Google からの支援をおこないますので、こちらのフォームから申し込んでください。

皆様の参加をお待ちしております。


Posted by Reisa Matsuda and Takuo Suzuki - Developer Relations Team

Share on Twitter Share on Facebook