Google maps api 3 计算要在街景中使用的附近街道
我面临一个不寻常的问题,我需要在不知道实际位置的情况下计算街景图像地图上某个位置的latlong 我知道我的用户的最终目的地,但我需要计算附近有街景图像的位置(大约1公里或更少,这应该是可变的)的latlong,并将其用作起始目的地Google maps api 3 计算要在街景中使用的附近街道,google-maps-api-3,Google Maps Api 3,我面临一个不寻常的问题,我需要在不知道实际位置的情况下计算街景图像地图上某个位置的latlong 我知道我的用户的最终目的地,但我需要计算附近有街景图像的位置(大约1公里或更少,这应该是可变的)的latlong,并将其用作起始目的地 举个例子,我知道我需要去时代广场,但我想有一个出发点,大约1公里远的公路。然后,我需要验证此坐标是否有街景图像,然后才能确定它是起点。下面的函数递归地将搜索距离加倍(最多10000米),直到找到全景 示例代码: // Global vars var G = goog
举个例子,我知道我需要去时代广场,但我想有一个出发点,大约1公里远的公路。然后,我需要验证此坐标是否有街景图像,然后才能确定它是起点。下面的函数递归地将搜索距离加倍(最多10000米),直到找到全景 示例代码:
// Global vars
var G = google.maps;
var streetViewService = new G.StreetViewService();
function getNearSVP(latlon,maxDist) {
streetViewService.getPanoramaByLocation(latlon, maxDist, function(data, status) {
if (status == google.maps.StreetViewStatus.OK) {
return data.location.latLng;
}
else{
if (maxDist < 10000){
maxDist = maxDist * 2;
return getNearSVP(latlon, maxDist);
}
else {
alert('StreetView is not available within '+maxDist+' meters of this location');
}
}
});
}
//全局变量
var G=google.maps;
var streetViewService=新的G.streetViewService();
函数getNearSVP(latlon,maxDist){
streetViewService.getPanoramaByLocation(latlon、maxDist、函数(数据、状态){
if(status==google.maps.StreetViewStatus.OK){
返回data.location.latLng;
}
否则{
如果(最大距离<10000){
maxDist=maxDist*2;
返回getNearSVP(latlon,maxDist);
}
否则{
警报(“此位置“+maxDist+”米范围内的街景不可用”);
}
}
});
}
这看起来是一个非常优雅的解决方案。谢谢你的演示。我将在解决其他问题后对此进行测试: