街景中的下一个全景ID

时间:2017-11-02 21:03:45

标签: google-maps google-street-view

我在街景视图中获得了具有特定经度纬度的全景照片。使用GoogleMaps API,我可以从 A点 B点 获取路线(见图)。但是我需要那条路线中的下一个pano_id。我怎么能得到它?

enter image description here 我现在有这个。每个黑点都是函数 DirectionDisplay 的一个步骤,带有下一个代码:

for (var i = 0; i < myroute.legs.length; i++) {
                    for (var j = 0; j < myroute.legs[i].steps.length; j++ ){
                      for (var k = 0; k < myroute.legs[i].steps[j].lat_lngs.length; k++ ){
                        var start = myroute.legs[i].steps[j].lat_lngs[k];
                        var coords = start.lat() + '|' + start.lng() ;
                        console.info('cooords',coords);
                    }
                  }

我可以获得两点的经度纬度,但我需要每个2或3米的经度纬度,(类似于在谷歌街景中按箭头键)。像This Example

一样

[enter image description here 3

修改

我正在使用以下代码获取Panorama ID:

sv = new google.maps.StreetViewService();
sv.getPanorama({location: myLatLng, radius: 50}, processSVData);

function processSVData(info, status) {
$.ajax({
              type: 'POST',
              contentType: "application/json; charset=utf-8",
              url: "{{ url_for('download_tiles') }}",
              async: false,
              data: JSON.stringify({pano_id: info.location.pano}),
              success: function(response){
               }

   .... //get little images of panorama I later I build the panorama.
       //I get the panorama with the ID of the panorama.
}

目前,我正在以特定的经度纬度拍摄全景照片。 mylatlng是经度和纬度的变量, enter image description here (我手动绘制红线)

修改

例如: GoogleMaps 中的this路由。变量myroute.legs[i].steps[j].lat_lngs[k]有3个经度 - 纬度。但在StreetView中,我可以做6个陈词滥调,从(Brodway,E 4th St)到(Brodway,W 3rd st)

感谢,

1 个答案:

答案 0 :(得分:2)

如果有人需要,也可以发布此答案。 错误的不是Googmaps的比例,是StreetView的属性。 StreetView有和对象StreetViewPanorama。使用该对象可以获得链接(带有下一个全景ID的箭头)。所以你需要创建一个StreetViewPanorama objetc。

$configPath = "C:\Windows\System32\inetsrv\config\applicationHost.config"
$configXml = [xml] (type $configPath)

[xml] $webFarmXml = @"
<webFarms>
    <webFarm name="siteFarm" enabled="true">
        <server address="site-blue" enabled="true">
            <applicationRequestRouting httpPort="$bluePort" />
        </server>
        <server address="site-green" enabled="true">
            <applicationRequestRouting httpPort="$greenPort" />
        </server>
        <applicationRequestRouting>
            <healthCheck url="http://mySite/up.html" interval="00:00:05" responseMatch="up" />
            <protocol reverseRewriteHostInResponseHeaders="true">
                <cache enabled="false" queryStringHandling="NoCaching" />
            </protocol>
        </applicationRequestRouting>
    </webFarm>
    <applicationRequestRouting>
        <hostAffinityProviderList>
            <add name="Microsoft.Web.Arr.HostNameRoundRobin" />
        </hostAffinityProviderList>
    </applicationRequestRouting>
</webFarms>
"@

$configXml.configuration.AppendChild($configXml.ImportNode($webFarmXml.webFarms, $true))
$configXml.Save($configPath)