2017-06-10 100 views
0

我正在使用Google Maps API for JavaScript。 如何生成有效的隨機街景視圖座標? 有沒有API的默認方法,或者我必須寫我自己的方法,我該怎麼做?在JavaScript中生成隨機Google Maps街景座標

+0

我可能是錯的,但我認爲你可以通過使用lat和long座標來獲得街景。此人解釋如何隨機生成緯度和長度座標 - > https://stackoverflow.com/a/6878845/8085668 – WizardCoder

+0

這聽起來很簡單嗎?爲經度和緯度創建兩組有效值,並從每個目標中隨機抽樣。 – nikkypx

回答

1

Streetview僅在某些位置可用,因此不是每個經緯度對都將成爲Streetview Panorama的有效位置。沒問題 - StreetviewService來拯救!

生成隨機經緯度,然後使用StreetviewService檢查該位置是否有有效的Panorama。如果不是,請嘗試其他位置。值得注意的是,很多地球表面沒有街景數據,所以你可能想要在較小的區域內選擇隨機數 - 例如,美國的邊界,而不是一次又一次地在海洋登陸。

function TryRandomLocation(callback) { 
    var lat = (Math.random() * 90) - 90; 
    var lng = (Math.random() * 180) - 180; 
    var sv = new google.maps.StreetViewService(); 

    // Try to find a panorama within 50 metres 
    sv.getPanorama({ 
     location: new google.maps.LatLng(lat, lng), 
     radius: 50 
    }, callback); 
} 

function HandleCallback(data, status) { 
    if (status == 'OK') { 
     // Call your code to display the panorama here. 
    } else { 
     // Nothing here! Let's try another location. 
     TryRandomLocation(HandleCallback); 
    } 
} 

window.onload = function() { 
    TryRandomPanorama(HandleCallback); 
}