使用Google街景图像API从地址获取直接图像

时间:2017-11-28 17:01:40

标签: google-maps google-street-view google-static-maps

我正在使用静态图片API(您将网址传递给Google并返回图片)。我的问题是谷歌返回的图像有时不是直接/清晰的地址视图。我希望获得与谷歌地图搜索功能作为缩略图相同的图像。

我已阅读此API的Google文档。示例网址为:https://maps.googleapis.com/maps/api/streetview?parameters&size=640x640&fov=50&location=4113+Hartford+Dr+Garland+TX

如果我将这个相同的地址(4113 Hartford Dr,Garland,TX)直接放入谷歌地图,我会得到一个更清晰的图像。

我已尝试更改FOV值。我唯一的另一个想法是使用标题,但我对此不确定。

最终实现是使用VBA在Excel中。

如果您需要任何其他信息,请与我们联系。

1 个答案:

答案 0 :(得分:2)

你将不得不compute the heading。我没有原始数学,但这是使用JS API的示例,如果这是一个选项。

  function getStreetView(lat, lng) {
    let panorama = new google.maps.StreetViewPanorama(
      document.getElementById('panorama'), {
      position: {lat: lat, lng: lng}
    })
    let service = new google.maps.StreetViewService
    service.getPanoramaByLocation(panorama.getPosition(), 50, function(panoData) {
      if (panoData) {
        let panoCenter = panoData.location.latLng
        let heading = google.maps.geometry.spherical.computeHeading(panoCenter, {lat: lat, lng: lng})
        let pov = panorama.getPov()
        pov.heading = heading
        panorama.setPov(pov)
      } else {
        alert('no streetview found')
      }
    })
    map.setStreetView(panorama) // set dude on map
  }