Pergunta

Quando o Streetview não está disponível para um determinado local, gostaria de encontrar a localização possível mais próxima da Streetview?

A única maneira de pensar é.

radius = 0;
noOfPoints = 3;

while(radius < 10 miles){

    radius = radius + 0.2 miles
    points = calculate 4 * noOfPoints at this radius

    loop(points)
    {
       if(streetview visibile for point)
          bingo, break;
    }

    break if bingo;

    noOfPOints = noOfPoints+1;

}

Mas isso é ridiculamente caro, mesmo que eu queira encontrar o Streetview em um raio de 10 quilômetros e estou contando com sorte para encontrar o Streetview em um desses pontos, ou seja, eu poderia perder um ponto real com o Streetview.

Alguém pode me direcionar para uma abordagem melhor ??

Foi útil?

Solução

Você pode tentar usar o StreetviewService para ajudá -lo a encontrar um View Street Existing mais próximo:

var astorPlace = new google.maps.LatLng(40.729884, -73.990988);
var webService = new google.maps.StreetViewService();  
/**Check in a perimeter of 50 meters**/ 
var checkaround = 50;
/** checkNearestStreetView is a valid callback function **/

webService.getPanoramaByLocation(astorPlace,checkaround ,checkNearestStreetView);

function checkNearestStreetView(panoData){
    if(panoData){

         if(panoData.location){

            if(panoData.location.latLng){
                /**Well done you can use a nearest existing street view coordinates**/
            }
        }
    }
    /** Else do something... **/
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top