我知道至少有几个这样的问题
detecting "we have no imagery" of google maps street view static images
这些文章提供了几种解决方案。我在这里看到的两个最受欢迎的游戏是:
不幸的是,我不想使用第一个解决方案,因为它感觉像黑客,而第二个解决方案似乎并不总是有效。
var center = new google.maps.LatLng(latitude, longitude);
var streetViewService = new google.maps.StreetViewService();
var maxDistanceFromCenter = 75; //meters
streetViewService.getPanoramaByLocation(center, maxDistanceFromCenter, function (streetViewPanoramaData, status) {
if (status === google.maps.StreetViewStatus.OK) {
var key = /**smarty** #mapKey# **smarty**/;
var url = 'http://maps.googleapis.com/maps/api/streetview?size=320x320&location=' + latitude + ',%20' + longitude + '&sensor=false&key=' + key;
jQuery('.ui-page-active .streetView').attr('src', url);
} else {
console.log('error calling street view');
}
});
};
此代码将正确确定某个位置是否可以使用全景图像,但有时静态图像不适用于同一位置。
我从100开始为我的getPanoramaByLocation半径,这似乎是一个安全的数字,但后来我发现了一个案例,我得到了“抱歉,我们这里没有图像”错误。所以我去了75,现在我要去50.
似乎getPanoramaByLocation不是静态街景图像可用的安全指示器,或者可能是,但是应该使用的半径有一个特定值。我虽然在文档中找不到它。所以我的问题是:我的maxDistanceFromCenter最安全的半径是什么?