下一步&针对给定IP或纬度/经度的最近Google街景视图

时间:2010-11-10 09:47:05

标签: google-maps-api-3 google-street-view

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

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

此致

2 个答案:

答案 0 :(得分:5)

API在StreetViewService Class

中有一个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;              
        //...
    }
});          

答案 1 :(得分:2)

半径不保证最近的街景点。例如:如果视点距离10米但您将半径定义为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);
    }
};