【发布时间】:2015-06-16 14:09:05
【问题描述】:
我正在使用 Google Maps V3 API 开发概念验证应用程序。我有一个数据库,其中包含 (lat,lng) 格式的所有城市及其中心点的列表。当我从数据库中打开一个随机城市时,地图以中心点为中心并切换到街景视图。
问题是:有时有用户提交的照片,在这种情况下没有“步行”功能。以下是此类照片的示例,它也是街景图层的一部分:
有没有办法避免这些用户照片?从 Google Maps API 的角度来看,它们与 Google 驱动程序制作的具有“步行”功能的真实照片有何不同?我需要一种方法,使用来自 Google 汽车的“正确”街景照片跳到下一个最近的点。
另一个问题:有没有一种方法/算法可以找到离给定坐标最近的街景点?
这里是当前代码sn-p:
var point = new google.maps.LatLng(data[0].lat, data[0].lng);
var webService = new google.maps.StreetViewService();
var checkaround = 5000;
webService.getPanoramaByLocation(point,checkaround ,function(panoData) {
if(panoData){
if(panoData.location){
if(panoData.location.latLng){
window.map.setCenter(panoData.location.latLng);
window.map.setZoom(14);
var panoramaOptions = {
position: panoData.location.latLng,
pov: {
heading: 34,
pitch: 10
}
};
var panorama = new google.maps.StreetViewPanorama(document.getElementById('pano'), panoramaOptions);
map.setStreetView(panorama);
}
}
}
});
我无法在 jsfiddle 上发布它,因为有一个带数据库的 php 后端,但是使用上面的代码和一个测试点 (lat,lng) = (54.226978, 49.568459) 你可以重新创建问题,您会看到照片,而不是街景。然而,这个城市和这一点都被街景所覆盖。
【问题讨论】:
标签: javascript google-maps google-maps-api-3 google-street-view