如果指定了邮政地址,如何为 Google Maps JavaScript API 版本 3 设置正确的标题?

Posted

技术标签:

【中文标题】如果指定了邮政地址,如何为 Google Maps JavaScript API 版本 3 设置正确的标题?【英文标题】:How to set correct heading for Google Maps JavaScript API Version 3 in case of postal address is specified? 【发布时间】:2012-03-31 01:53:47 【问题描述】:

我正在努力解决以下问题,在 Goolge Maps API 文档或网络中找不到任何解决方案,因此我将尝试在此处发布我的问题:

我使用的是 Google 的静态街景图像 API,您可以在其中将 long/lat 或带有邮政地址的字符串作为位置传递。在我的情况下,我总是使用字符串方法,在大多数情况下包含带有门牌号的地址。我对返回的图像的结果感到惊讶,在大多数情况下,它完全指向搜索地址的方向。

现在我想尝试一下街景的 javascript API。通过长/纬度值指定地址,它与位置的唯一可用接口完美配合。通过可选的 pov 参数也可以指定标题。但是,如果您想使用带有门牌号的邮政地址来初始化 StreetView,那么您会迷失在该 API 中。唯一的方法是通过地理编码 API 将邮政地址地理编码为 long/lat 值,但会丢失标题信息。作为最终结果,在这种情况下,初始街景图像的方向完全不同。

我再次检查了静态街景图像 API,发现标题成员有以下评论:

heading (optional): ... 如果没有指定方向,将计算一个值,将相机从最近的照片拍摄点指向指定位置。

有什么我可以在这里做的吗?如何在制作照片的位置和我正在寻找的位置之间找到完美的标题?似乎只有 Google 可以通过静态街景图像 API 的一些内部魔法来做到这一点。

【问题讨论】:

【参考方案1】:

1) 确实将邮政地址地理编码为长/纬度值,这样您就可以知道房子的“确切”位置。

2) 使用 streetViewService.getPanoramaByLocation 查看街景是否可用,响应将包括拍摄街景图像的确切位置。

现在您可以计算两点之间的航向(1 是“房子”,2 是“相机”)。您可以为此使用 google.maps.geometry.spherical.computeHeading 函数 - 请参阅 https://developers.google.com/maps/documentation/javascript/geometry#Navigation

【讨论】:

以上是关于如果指定了邮政地址,如何为 Google Maps JavaScript API 版本 3 设置正确的标题?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 google_maps_flutter 设置缩放级别

Google Maps API - 获取最接近邮政编码的点

Google Map API 通过邮政编码获取地址信息,但它通过街道号响应结果

使用 Google Maps API 将邮政编码转换为纬度/经度坐标?

Google Maps API:返回邮政编码结果

从邮政编码获取 LatLng - Google Maps API