2012-04-18 41 views
22

Sto cercando di trovare la posizione tra due punti utilizzando Google Maps. Ecco il codice che sto lavorando con:Distanza tra due posizioni - Google Maps

function initialize() { 
      var myOptions = { 
      center: new google.maps.LatLng(36.8813329,-103.6975488), 
      zoom: 4, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
      }; 
      var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions); 

      var impactCoordinates = [ 
       new google.maps.LatLng(37.772323, -122.214897), 
       new google.maps.LatLng(34.1633766,-81.6487862), 
          ]; 
      var ImpactPath = new google.maps.Polyline({ 
       path: impactCoordinates, 
       strokeColor: "#FF0000", 
       strokeOpacity: 1.0, 
       strokeWeight: 2 
      }); 

      ImpactPath.setMap(map); 

      var loc1 = new google.maps.LatLng(37.772323, -122.214897); 
      var loc2 = new google.maps.LatLng(34.1633766,-81.6487862); 

      alert(google.maps.geometry.spherical.computeDistanceBetween(loc1, loc2)); 
     } 

Questo è l'errore che ottengo dalla console:

Uncaught TypeError: Cannot read property 'spherical' of undefined

risposta

48

Se non è stato fatto, aggiungere esplicitamente la libreria geometria nella vostra <script> tag src="http://maps.googleapis.com/maps/api/js?libraries=geometry&sensor=false">

+2

Grazie! Questo è esattamente quello che mi mancava. – cclerville

+0

È anche necessario utilizzare l'URL sopra; ovvero, 'http: //maps.google.com/maps/api/js? sensor = false &? libraries = geometry' non funzionerà. – Arthur

+0

@Arthur perché hai dimenticato di rimuovere il punto interrogativo. '&? libraries = geometry' dovrebbe essere' & libraries = geometry' – jimmystormig

Problemi correlati