ADB 139: AndroidX. Jetpack. AndroidX. Jetpack. Whatever.
Google Cloud カスタマー エンジニア 技術部長 佐藤 聖規 Google プロダクト マネージャー 田村 芳明
Google Cloud カスタマー エンジニア 吉川 隼人
日本テレビ放送網株式会社 川越 五郎氏
Google セキュリティー & コンプライアンス スペシャリスト ペイン デビィット Google Cloud カスタマー エンジニア 水江 伸久
ヴイエムウェア 株式会社 シニア クラウド スペシャリスト 屋良 旦氏 Google Cloud インフラストラクチャ モダナイゼーション スペシャリスト 岡田 庄平
YKK AP 株式会社 IT 統括部 グローバル IT セキュリティ&ガバナンス 齋藤 充宏氏
6/9 12:30 - 15:30[Kubernetes 編] 6/10 10:00 - 13:00[Big Data & Machine Learning 編]
6/10 14:10 - 16:40[基礎編] 6/11 10:00 - 12:30[Kubernetes 編] 6/11 14:10 - 16:40[Cloud Run 編]
business_status
OPERATIONAL
CLOSED_TEMPORARILY
CLOSED_PERMANENTLY
fields
const request = { placeId: 'ChIJ9xzt5AYVkFQRTSTBq6a4nWc', fields: ['name', 'business_status'] }; const service = new google.maps.places.PlacesService(map); service.getDetails(request, callback);
const request = {
placeId: 'ChIJ9xzt5AYVkFQRTSTBq6a4nWc',
fields: ['name', 'business_status']
};
const service = new google.maps.places.PlacesService(map);
service.getDetails(request, callback);
function callback(place, status) { if (status !== google.maps.places.PlacesServiceStatus.OK) return; if (place.business_status) { console.log(`${place.name} is currently ${place.business_status}.`); } }
function callback(place, status) {
if (status !== google.maps.places.PlacesServiceStatus.OK) return;
if (place.business_status) {
console.log(`${place.name} is currently ${place.business_status}.`);
}
permanently_closed
opening_hours
/** *こちらでご紹介する方法は、場所の予測補完を取得することを目的としたプログラムのサンプルです。 *このリクエストでのパラメータは、インドのコルカタ周辺にバイアスがかかるようにしています。 * * @param query the plus code query string (e.g. "GCG2+3M K") */ private void getPlacePredictions(String query) { // `locationBias` の値は、与えられた領域(現在はコルカタ)に予測結果をバイアスします。 // これらの値を変更することで、別の領域の結果が取得できます。 // FindAutocompletePredictionsRequest.Builder オブジェクトと同様に、適切な値を .setCountries() に渡してください。 LocationBias locationBias = RectangularBounds.newInstance( new LatLng(22.458744, 88.208162), new LatLng(22.730671, 88.524896)); // 次に Places SDK for Android でのプレイス オートコンプリートリクエストを作成します FindAutocompletePredictionsRequest newRequest = FindAutocompletePredictionsRequest.builder() .setLocationBias(locationBias) .setQuery(query) .setTypeFilter(TypeFilter.ESTABLISHMENT) .setCountries("IN") .build(); // 続いて、オートコンプリート予測リクエストを実行します placesClient.findAutocompletePredictions(newRequest).addOnSuccessListener((response) -> { List<AutocompletePrediction> predictions = response.getAutocompletePredictions(); if (predictions.isEmpty()) { Log.w(TAG, "No predictions found"); return; } // 1文字目の予測一致から Geocoding API リクエストを実行しています AutocompletePrediction firstPrediction = predictions.get(0); geocodePlace(firstPrediction.getPlaceId()); }).addOnFailureListener((exception) -> { if (exception instanceof ApiException) { ApiException apiException = (ApiException) exception; Log.e(TAG, "Place not found: " + apiException.getStatusCode()); } }); } // ネットワーク リクエスト用の Volley ディスパッチキュー。 Android Context オブジェクトで初期化されます RequestQueue queue; /** * Geocode API リクエストを実行します * * @param placeID the ID of the Place to geocode */ private void geocodePlace(String placeID) { // リクエスト URL を作成します String apiKey = ""; // GMP API キー String url = "https://maps.googleapis.com/maps/api/geocode/json?place_id=%s&key=%s"; String requestURL = String.format(url, placeID, apiKey); // Geocoding API の HTTP リクエスト URL を使用して場所の地理座標を取得します JsonObjectRequest request = new JsonObjectRequest(Method.GET, requestURL, null, response -> { try { // "results" の値を調べて空でないことを確認します JSONArray results = response.getJSONArray("results"); if (results.length() == 0) { Log.w(TAG, "No results from geocoding request."); return; } // Gson を使用してレスポンスの JSON オブジェクトを POJO に変換します GeocodingResult result = new Gson() .fromJson(results.getString(0), GeocodingResult.class); LatLng latLng = result.geometry.location; Log.d(TAG, "LatLng for geocoded place: " + latLng); } catch (JSONException e) { e.printStackTrace(); } }, error -> Log.e(TAG, "Request failed")); // リクエストを Request キューに追加します。 queue.add(request); }
/**
*こちらでご紹介する方法は、場所の予測補完を取得することを目的としたプログラムのサンプルです。
*このリクエストでのパラメータは、インドのコルカタ周辺にバイアスがかかるようにしています。
*
* @param query the plus code query string (e.g. "GCG2+3M K")
*/
private void getPlacePredictions(String query) {
// `locationBias` の値は、与えられた領域(現在はコルカタ)に予測結果をバイアスします。
// これらの値を変更することで、別の領域の結果が取得できます。
// FindAutocompletePredictionsRequest.Builder オブジェクトと同様に、適切な値を .setCountries() に渡してください。
LocationBias locationBias = RectangularBounds.newInstance(
new LatLng(22.458744, 88.208162),
new LatLng(22.730671, 88.524896));
// 次に Places SDK for Android でのプレイス オートコンプリートリクエストを作成します
FindAutocompletePredictionsRequest newRequest = FindAutocompletePredictionsRequest.builder()
.setLocationBias(locationBias)
.setQuery(query)
.setTypeFilter(TypeFilter.ESTABLISHMENT)
.setCountries("IN")
.build();
// 続いて、オートコンプリート予測リクエストを実行します
placesClient.findAutocompletePredictions(newRequest).addOnSuccessListener((response) -> {
List<AutocompletePrediction> predictions = response.getAutocompletePredictions();
if (predictions.isEmpty()) {
Log.w(TAG, "No predictions found");
return;
// 1文字目の予測一致から Geocoding API リクエストを実行しています
AutocompletePrediction firstPrediction = predictions.get(0);
geocodePlace(firstPrediction.getPlaceId());
}).addOnFailureListener((exception) -> {
if (exception instanceof ApiException) {
ApiException apiException = (ApiException) exception;
Log.e(TAG, "Place not found: " + apiException.getStatusCode());
});
// ネットワーク リクエスト用の Volley ディスパッチキュー。 Android Context オブジェクトで初期化されます
RequestQueue queue;
* Geocode API リクエストを実行します
* @param placeID the ID of the Place to geocode
private void geocodePlace(String placeID) {
// リクエスト URL を作成します
String apiKey = ""; // GMP API キー
String url = "https://maps.googleapis.com/maps/api/geocode/json?place_id=%s&key=%s";
String requestURL = String.format(url, placeID, apiKey);
// Geocoding API の HTTP リクエスト URL を使用して場所の地理座標を取得します
JsonObjectRequest request = new JsonObjectRequest(Method.GET, requestURL, null,
response -> {
try {
// "results" の値を調べて空でないことを確認します
JSONArray results = response.getJSONArray("results");
if (results.length() == 0) {
Log.w(TAG, "No results from geocoding request.");
// Gson を使用してレスポンスの JSON オブジェクトを POJO に変換します
GeocodingResult result = new Gson()
.fromJson(results.getString(0), GeocodingResult.class);
LatLng latLng = result.geometry.location;
Log.d(TAG, "LatLng for geocoded place: " + latLng);
} catch (JSONException e) {
e.printStackTrace();
}, error -> Log.e(TAG, "Request failed"));
// リクエストを Request キューに追加します。
queue.add(request);
address
address=GCG2%2B3M%20Kolkata
place_id: "GhIJm8QgsHKGNkARke18P7UZVkA"
開催日:2020 年 5 月 24 日(日)13 :00 〜 場所:YouTube LIVE 参加費:無料 下記のお好きなサイトからお申し込みください。(外部サイトへ飛びます)
GDG Sapporo の申し込みサイト GDG Nagoya の申し込みサイト WTM Kyoto の申し込みサイト
GDG Kyoto、GDG Shikoku、WTM Kyoto、Flutter Osaka スタッフ。 お仕事はフリーランスで Web 制作サービス全般(ディレクション、デザイン、コーディング、CMS 導入、運用保守等)を行っています。 モバイルアプリ開発に興味を持ち、Flutter を勉強中。独学でこつこつやってます。
開催日:2020 年 5 月 31 日(日)11 : 00 〜 場所:YouTube LIVE 参加費:無料 下記のお好きなサイトからお申し込みください。(外部サイトへ飛びます)
GDG Tokyo の申し込みサイト WTM Tokyo の申し込みサイト