从纬度/经度坐标获取街景panoroma ID

时间:2017-02-03 07:51:07

标签: json google-maps google-maps-api-3

我试图从纬度/经度坐标中获取街景全景ID,并且我发现此查询将返回包含panoid的JSON文件(例如 JMUfE4l0ICICvD4_BaIGsw )。

https://cbks0.google.com/cbk?cb_client=apiv3&authuser=0&hl=en&output=polygon&it=1%3A1&rank=closest&ll=30.2983995,35.1334873&radius=50

只需将坐标替换为您喜欢的任何坐标。

但是我的问题是:我怎样才能让这种方式适用于像以色列小道这样的越野路?当我从这个越野路径输入任何坐标时,它总是返回一个空的JSON文件。 (例如,我知道 30.7451333,34.8850511 是一个全景图,但它不会返回这个泛音。)我做错了什么?感谢。

1 个答案:

答案 0 :(得分:2)

用于获取全景ID的网址是未记录的功能。 Google地图的服务条款禁止通过此类网址访问服务。 看看ToS的第10.1(a)段。

  

无法通过服务访问API或内容。除非通过服务,否则您不会访问Maps API或内容。例如,您不得通过Maps API之外的接口或通道(包括未记录的Google界面)访问地图图块或图像。

https://developers.google.com/maps/terms#10-license-restrictions

您应该在案例中使用Street View Image Metadata的API。

例如,要获取30.7451333,34.8850511的全景ID,您可以执行以下查询

https://maps.googleapis.com/maps/api/streetview/metadata?location=30.7451333%2C34.8850511&key=API_KEY

此请求返回以下响应

{
    "copyright":"© 2017 Google",
    "date":"2015-05",
    "location":{
        "lat":30.74513326023706,
        "lng":34.88505109084099
    },
    "pano_id":"Ig2uuF7itfCs8ksgjlJaTQ",
    "status":"OK"
 }

现在您拥有全景ID Ig2uuF7itfCs8ksgjlJaTQ。让我们使用街景API:

<img src="https://maps.googleapis.com/maps/api/streetview?pano=Ig2uuF7itfCs8ksgjlJaTQ&size=600x400" title="" />

希望它有所帮助!