Google Maps API V3 - View de rua mais próximo
-
25-09-2019 - |
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 ??
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