Google Maps Platformを学ぶ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* はじめに [#b0145e7a]
このページは、Cloud Optimization APIを扱うことになった(自...
リンク先など、情報が共有が、誰かの参考になったらラッキー...
* ドキュメント [#v09467af]
** Set up the Cloud Optimization API [#u176be24]
https://cloud.google.com/optimization/docs/introduction/s...
** Cloud Optimization API [#n520ae71]
https://cloud.google.com/optimization/docs
* 学んだこと [#pa66ad5a]
APIはインターフェースで、リクエストを受けて最適化とか検索...
** APIを有効化する [#gdd80644]
コンソールで、ボタンをぽちっとしたらできた。
** 気になっていること [#g41d6a02]
Google Cloud CLI
例えば、Go langで作ったサーバからの問い合わせ処理が簡潔に...
** Google Cloud CLIを使ったgolandの例 [#x026e180]
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"googlemaps.github.io/maps"
)
func main() {
// APIキーを設定します
apiKey := "YOUR_API_KEY"
// Google Maps APIクライアントを作成することができるよ...
c, err := maps.NewClient(maps.WithAPIKey(apiKey))
if err != nil {
fmt.Println("Could not create client:", err)
os.Exit(1)
}
// 通過地点の座標を定義します
waypoints := []maps.LatLng{
{Lat: 37.7749, Lng: -122.4194}, // サンフランシスコ
{Lat: 34.0522, Lng: -118.2437}, // ロサンゼルス
{Lat: 37.3382, Lng: -121.8863}, // サンノゼ
}
// ルート最適化のリクエストを作成します
r := &maps.RouteOptimizationRequest{
Origin: &waypoints[0], // 出発地点
Destination: &waypoints[len(waypoints)-1], // 到着地点
Intermediates: waypoints[1:len(waypoints)-1], // 通過...
}
// APIリクエストを送信します
resp, err := c.RouteOptimization(context.Background(), r)
if err != nil {
fmt.Println("Could not request route optimization:", e...
os.Exit(1)
}
// 結果をJSON形式で出力します
prettyJSON, _ := json.MarshalIndent(resp, "", " ")
fmt.Println(string(prettyJSON))
}
* Go言語で開発するため、Google Maps Platform の Go SDKを...
以下を開く
https://pkg.go.dev/googlemaps.github.io/maps
あたらしいAPIに対応したものは以下が最新のものがあるので、...
https://github.com/googleapis/google-cloud-go/tree/main/m...
** Google Maps Route Optimization API の Go 用クライアン...
CLI ではなく、Go プログラムに組み込んで使うためのライブラ...
https://github.com/googleapis/google-cloud-go/tree/main/m...
*** 使い方の概要 [#k8a35f28]
**** 1. インストール [#j243860e]
まず、Go のプロジェクトにこのライブラリを追加する必要があ...
go get cloud.google.com/go/maps/routeoptimization/apiv1
**** 2. 認証設定 [#qeab0884]
Google Cloud Platform プロジェクトで API キーを作成し、環...
- API キーの取得と設定方法
[https://cloud.google.com/docs/authentication/api-keys?hl...
**** 3. コード例 [#a77721d1]
ライブラリを使ってルート最適化をリクエストする Go プログ...
package main
import (
"context"
"fmt"
"log"
routeoptimization "cloud.google.com/go/maps/routeoptimi...
routeoptimizationpb "google.golang.org/genproto/googlea...
)
func main() {
ctx := context.Background()
// クライアントを作成します。
c, err := routeoptimization.NewClient(ctx)
if err != nil {
log.Fatalf("クライアントの作成に失敗しました: %v", err)
}
defer c.Close()
// リクエストを構築します。
req := &routeoptimizationpb.OptimizeToursRequest{
Parent: "projects/YOUR_PROJECT_ID", // プロジェクトID...
// その他必要なパラメータを設定
// ...
}
// API を呼び出します。
resp, err := c.OptimizeTours(ctx, req)
if err != nil {
log.Fatalf("API 呼び出しに失敗しました: %v", err)
}
// レスポンスを処理します。
fmt.Printf("最適化されたルート: %v\n", resp)
}// クライアントを作成します。
c, err := routeoptimization.NewClient(ctx)
if err != nil {
log.Fatalf("クライアントの作成に失敗しました: %v", e...
}
defer c.Close()
// リクエストを構築します。
req := &routeoptimizationpb.OptimizeToursRequest{
Parent: "projects/YOUR_PROJECT_ID", // プロジェクトI...
// その他必要なパラメータを設定
// ...
}
// API を呼び出します。
resp, err := c.OptimizeTours(ctx, req)
if err != nil {
log.Fatalf("API 呼び出しに失敗しました: %v", err)
}
// レスポンスを処理します。
fmt.Printf("最適化されたルート: %v\n", resp)
}
```
**** ポイント [#i751c4e4]
- `YOUR_PROJECT_ID` は実際の Google Cloud Platform プロジ...
- 上記は基本的な例です。 詳細なパラメータ設定やエラー処理...
このライブラリを使うことで、REST API を直接扱うよりも簡単...
終了行:
* はじめに [#b0145e7a]
このページは、Cloud Optimization APIを扱うことになった(自...
リンク先など、情報が共有が、誰かの参考になったらラッキー...
* ドキュメント [#v09467af]
** Set up the Cloud Optimization API [#u176be24]
https://cloud.google.com/optimization/docs/introduction/s...
** Cloud Optimization API [#n520ae71]
https://cloud.google.com/optimization/docs
* 学んだこと [#pa66ad5a]
APIはインターフェースで、リクエストを受けて最適化とか検索...
** APIを有効化する [#gdd80644]
コンソールで、ボタンをぽちっとしたらできた。
** 気になっていること [#g41d6a02]
Google Cloud CLI
例えば、Go langで作ったサーバからの問い合わせ処理が簡潔に...
** Google Cloud CLIを使ったgolandの例 [#x026e180]
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"googlemaps.github.io/maps"
)
func main() {
// APIキーを設定します
apiKey := "YOUR_API_KEY"
// Google Maps APIクライアントを作成することができるよ...
c, err := maps.NewClient(maps.WithAPIKey(apiKey))
if err != nil {
fmt.Println("Could not create client:", err)
os.Exit(1)
}
// 通過地点の座標を定義します
waypoints := []maps.LatLng{
{Lat: 37.7749, Lng: -122.4194}, // サンフランシスコ
{Lat: 34.0522, Lng: -118.2437}, // ロサンゼルス
{Lat: 37.3382, Lng: -121.8863}, // サンノゼ
}
// ルート最適化のリクエストを作成します
r := &maps.RouteOptimizationRequest{
Origin: &waypoints[0], // 出発地点
Destination: &waypoints[len(waypoints)-1], // 到着地点
Intermediates: waypoints[1:len(waypoints)-1], // 通過...
}
// APIリクエストを送信します
resp, err := c.RouteOptimization(context.Background(), r)
if err != nil {
fmt.Println("Could not request route optimization:", e...
os.Exit(1)
}
// 結果をJSON形式で出力します
prettyJSON, _ := json.MarshalIndent(resp, "", " ")
fmt.Println(string(prettyJSON))
}
* Go言語で開発するため、Google Maps Platform の Go SDKを...
以下を開く
https://pkg.go.dev/googlemaps.github.io/maps
あたらしいAPIに対応したものは以下が最新のものがあるので、...
https://github.com/googleapis/google-cloud-go/tree/main/m...
** Google Maps Route Optimization API の Go 用クライアン...
CLI ではなく、Go プログラムに組み込んで使うためのライブラ...
https://github.com/googleapis/google-cloud-go/tree/main/m...
*** 使い方の概要 [#k8a35f28]
**** 1. インストール [#j243860e]
まず、Go のプロジェクトにこのライブラリを追加する必要があ...
go get cloud.google.com/go/maps/routeoptimization/apiv1
**** 2. 認証設定 [#qeab0884]
Google Cloud Platform プロジェクトで API キーを作成し、環...
- API キーの取得と設定方法
[https://cloud.google.com/docs/authentication/api-keys?hl...
**** 3. コード例 [#a77721d1]
ライブラリを使ってルート最適化をリクエストする Go プログ...
package main
import (
"context"
"fmt"
"log"
routeoptimization "cloud.google.com/go/maps/routeoptimi...
routeoptimizationpb "google.golang.org/genproto/googlea...
)
func main() {
ctx := context.Background()
// クライアントを作成します。
c, err := routeoptimization.NewClient(ctx)
if err != nil {
log.Fatalf("クライアントの作成に失敗しました: %v", err)
}
defer c.Close()
// リクエストを構築します。
req := &routeoptimizationpb.OptimizeToursRequest{
Parent: "projects/YOUR_PROJECT_ID", // プロジェクトID...
// その他必要なパラメータを設定
// ...
}
// API を呼び出します。
resp, err := c.OptimizeTours(ctx, req)
if err != nil {
log.Fatalf("API 呼び出しに失敗しました: %v", err)
}
// レスポンスを処理します。
fmt.Printf("最適化されたルート: %v\n", resp)
}// クライアントを作成します。
c, err := routeoptimization.NewClient(ctx)
if err != nil {
log.Fatalf("クライアントの作成に失敗しました: %v", e...
}
defer c.Close()
// リクエストを構築します。
req := &routeoptimizationpb.OptimizeToursRequest{
Parent: "projects/YOUR_PROJECT_ID", // プロジェクトI...
// その他必要なパラメータを設定
// ...
}
// API を呼び出します。
resp, err := c.OptimizeTours(ctx, req)
if err != nil {
log.Fatalf("API 呼び出しに失敗しました: %v", err)
}
// レスポンスを処理します。
fmt.Printf("最適化されたルート: %v\n", resp)
}
```
**** ポイント [#i751c4e4]
- `YOUR_PROJECT_ID` は実際の Google Cloud Platform プロジ...
- 上記は基本的な例です。 詳細なパラメータ設定やエラー処理...
このライブラリを使うことで、REST API を直接扱うよりも簡単...
ページ名: