7

Sto riscontrando un problema con l'API di Google Maps e il suo PlacesService. Anche se ho la libreria dei luoghi correttamente caricata continua a dire "Impossibile leggere la proprietà 'PlacesService' di indefinito". La mappa funziona e carica. Qualche idea? Ecco il codice:google maps api non può leggere placesservice

<div id="map-canvas"></div> 

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&libraries=place‌s"></script> 
<script type="text/javascript"> 
    var myLatlng; 
    var map; 
    var marker; 

    function initialize() { 
     myLatlng = new google.maps.LatLng(fooLat, fooLng); 

     var mapOptions = { 
      zoom: 17, 
      center: myLatlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      scrollwheel: false, 
      draggable: true 
     }; 

     map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 

     var service = new google.maps.places.PlacesService(map); 

     var request = { placeId: 'fooPlaceId'}; 
     service.getDetails(request, callback); 

     function callback (place, status) { 
      if (status == google.maps.places.PlacesServiceStatus.OK) { 
       marker = new google.maps.Marker({ 
        position: place.position, 
        map: map, 
        title: place.name 
       }); 
      } 
     }; 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

Aggiornamento: ho letteralmente appena provato un pezzo di codice from Google itself e mi ha dato lo stesso errore.

+1

Se si dispone di una risposta, si prega di postarla come risposta e [accettarlo] (http://meta.stackoverflow.com/questions/5234/how-does-accepting-an-answer-work) piuttosto che la modifica la domanda. – geocodezip

risposta

-2

Ecco la risposta: ho copiato la riga di inclusione direttamente da qualche pagina (qui, StackOverflow o una delle pagine di esempio delle API di Google. Quello che sembra essere il problema è che, per qualsiasi motivo, ha avuto un carattere invisibile in il nome della libreria che miniera editor di CMS non salire su. Quindi attenzione quando si copia!

18

Questo esempio richiede la libreria Luoghi. Includere il parametro libraries=places prima volta che si carica l'API con API Key.

Ad esempio:

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places">

+3

Nota. Se hai bisogno di più librerie abilitate, basta separarle con una virgola, ad es. '& Biblioteche = geometria, places' – conceptdeluxe