我正在尝试实现Google的 snaptoroad API。但是我没有任何输出。我正在使用golang进行实施。我的代码如下:
mapClient, err := maps.NewClient(maps.WithAPIKey(GoogleApiServerKey)) if err != nil{ log.Println(err) } //Input latlng := maps.LatLng{} path := []maps.LatLng{} latlng.Lat = 9.7162348 latlng.Lng = 76.6702793 path = append(path, latlng) latlng.Lat = 9.7162400 latlng.Lng = 76.715195 path = append(path, latlng) latlng.Lat = 9.7162410 latlng.Lng = 76.7759261 path = append(path, latlng) inputRequest := &maps.SnapToRoadRequest{ Path: path, } outputResponse, err := mapClient.SnapToRoad(context.Background(), inputRequest) fmt.Println(outputResponse) pretty.Println(outputResponse)
此代码产生的输出是
&{[]} &maps.SnapToRoadResponse{}
返回空白输出。有人指出我在这里犯的错误吗?提前致谢。
您的代码很好,但是您的API密钥似乎未激活。请访问googleAPI仪表板 以启用它。
您可以随时检查它是否正常运行:https : //roads.googleapis.com/v1/snapToRoads?path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796&key=YOUR_API_KEY
输出将是:
{ "snappedPoints": [ { "location": { "latitude": 60.170877918672588, "longitude": 24.942699821922421 }, "originalIndex": 0, "placeId": "ChIJNX9BrM0LkkYRIM-cQg265e8" }, { "location": { "latitude": 60.170876898776406, "longitude": 24.942699912064775 }, "originalIndex": 1, "placeId": "ChIJNX9BrM0LkkYRIM-cQg265e8" }, { "location": { "latitude": 60.170874902634374, "longitude": 24.942700088491474 }, "originalIndex": 2, "placeId": "ChIJNX9BrM0LkkYRIM-cQg265e8" } ] }