2010-10-22 34 views
12

Cuando streetview no está disponible para un lugar determinado, me gustaría encontrar la ubicación más cercana posible con streetview?google maps api v3 - streetview más cercano

La única forma en que podría pensar es en.

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; 

} 

Pero esto es ridículamente caro, incluso si quiero encontrar Streetview dentro de un radio de 10 millas y cuento con la suerte de encontrar Streetview en uno de estos puntos, es decir, tan sólo pudiera perder un punto real con vista de calle.

¿alguien puede dirigirme hacia un mejor enfoque?

Respuesta

10

Usted puede tratar de utilizar la StreetViewService para ayudarle a encontrar una vista más cercana existente calle:

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... **/ 
} 
+0

gracias Hakaesbe .. – user441660

+2

Esto no le da el lugar más cercano al punto :(Si define el radio por ejemplo 1000 entonces obtienes un punto que está más lejos de lo que podría ser ... – Tiit

+1

no da vista de calle más cercana. Cuanto más grande es el radio, más imprecisa es la vista de calle que obtienes. –

Cuestiones relacionadas