APIはインターフェースで、リクエストを受けて最適化とか検索とかしてるのがサービス
Google Cloud CLI
例えば、Go langで作ったサーバからの問い合わせ処理が簡潔に記述できる
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:", err)
os.Exit(1)
}
// 結果をJSON形式で出力します
prettyJSON, _ := json.MarshalIndent(resp, "", " ")
fmt.Println(string(prettyJSON))
}