1

我正在使用 ipinfodb.com 一段时间从用户 IP 获取纬度和经度以查看谷歌街景。但是最近 ipinfodb 更改了他们的数据库,并且大多数纬度/经度值都更改了,因此我没有得到街景。

我正在使用“Google Maps Javascript API V3 Services”,但不确定如何到达下一个和最近的 GoogleStreetview。你能建议一下吗?

问候

4

2 回答 2

5

API 在StreetViewService 类中有一个 getPanoramaByLocation 方法

下面是一个示例,说明如何在给定 latLng 位置周围的给定半径内获取街景,请注意,如果半径小于 50 米,将返回最近的全景图

var streetViewService = new google.maps.StreetViewService();
streetViewService.getPanoramaByLocation(latLng, radius, function(data, status)
{
    if (status == google.maps.StreetViewStatus.OK)
    {
        var nearStreetViewLocation = data.location.latLng;              
        //...
    }
});          
于 2011-09-09T04:06:04.950 回答
2

半径不保证最近的街景点。例如:如果视点距离 10m,但您将半径定义为 1000,则不会选择最近的。因此,如果您有几个点(有些非常接近,有些非常远),那么我仍然会使用迭代:

var streetViewService = new google.maps.StreetViewService();
var radius = 10;

streetViewService.getPanoramaByLocation(latLng, radius, handler);

function handler(data, status) {
    if (status == google.maps.StreetViewStatus.OK) {
        var nearStreetViewLocation = data.location.latLng;              
        //...
    } else {
        radius += 50;
        streetViewService.getPanoramaByLocation(latLng, radius, handler);
    }
}; 
于 2013-02-22T11:41:37.453 回答