-1

実際の位置を知らずに、ストリートビュー画像を含む地図上の位置の緯度経度を計算する必要があるという異常な問題に直面しています。

ユーザーの最終目的地はわかっていますが、ストリートビュー画像がある近くの位置 (約 1 km 以下、これは可変である必要があります) の緯度経度を計算し、それを開始目的地として使用する必要があります。

たとえば、タイムズ スクエアに行く必要があることはわかっているが、出発地を道路で約 1 km 離れた場所に設定したい場合があります。次に、この座標が開始点であると判断する前に、この座標のストリート ビュー画像があることを確認する必要があります。

4

1 に答える 1

1

以下の関数は、パノラマが見つかるまで検索距離を再帰的に 2 倍にします (最大 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');
            }
        }
    });

}

ライブデモはこちら

于 2013-01-15T08:22:08.397 に答える