2017-07-17 4 views
1

Ich versuche, 2 Details von einem Google-Ort zu greifen. Bewertungen und Bewertungen Problem ist, dass ich nicht scheinen kann, dass HTTP GET etwas zurückgibt.Google Places API - Details

Hier ist mein Code:

$.ajax({ 
    url: "https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJz153jtgN1oYRQeG2PvY5sWc&key=MyAPIKey", 
    type: "GET", /* or type:"GET" or type:"PUT" */ 
    dataType: "jsonp", 
    data: { 
    }, 
    success: function (placesRequest) { 
     console.log(placesRequest); 
    }, 
    error: function() { 
     console.log("Your code sucks, fix the HTTP request"); 
    } 
}); 

Fehler:

Uncaught Syntaxerror: Unexpected token:

enter image description here

Wenn ich dort auf den Link klicken in es mich braucht, um diese :

enter image description here

Hier ist die Google Docs Link.

Was ich getan habe:

  1. meine API-Schlüssel einrichten.
  2. meine Firma Platz ID Gefunden: ChIJz153jtgN1oYRQeG2PvY5sWc

Alle geschätzt würden Zeiger oder Richtungen.

+1

Google hat keine CORS-Header für den Places-API-Webdienst aktiviert, sodass Sie den Webdienst nicht über eine AJAX-Anforderung aufrufen können. Sie sollten die Google Places-Bibliothek der Google Maps-JavaScript-API verwenden, um das Problem zu lösen. Folge einfach der Antwort von @Prasanth Ravi. – xomena

Antwort

0

die Lösung unter Geige versuchen,

https://jsfiddle.net/upsidown/yfawx50v/

function initialize() { 
    var map = new google.maps.Map(document.getElementById('map-canvas'), { 
     center: new google.maps.LatLng(0, 0), 
     zoom: 15 
    }); 

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

    service.getDetails({ 
     placeId: 'ChIJz153jtgN1oYRQeG2PvY5sWc' 
    }, function (place, status) { 
     if (status === google.maps.places.PlacesServiceStatus.OK) { 

      // Create marker 
      var marker = new google.maps.Marker({ 
       map: map, 
       position: place.geometry.location 
      }); 

      // Center map on place location 
      map.setCenter(place.geometry.location); 

      // Get DIV element to display opening hours 
      var opening_hours_div = document.getElementById("opening-hours"); 

      // Loop through opening hours weekday text 
      for (var i = 0; i < place.opening_hours.weekday_text.length; i++) { 

       // Create DIV element and append to opening_hours_div 
       var content = document.createElement('div'); 
       content.innerHTML = place.opening_hours.weekday_text[i]; 
       opening_hours_div.appendChild(content); 
      } 
     } 
    }); 
} 

initialize(); 
0

Okay, müssen Sie zuerst, wenn eine Syntax erro dann,

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJz153jtgN1oYRQeG2PvY5sWc&key=MyAPIKey 

Kopieren Sie Ihre Ajax-URL in Browser, um zu sehen und Prüfen Sie, ob Ihre Netzwerk-IP diesen API-Schlüssel verwenden darf,

wenn wie diese gibt Fehler,

{ 
    "error_message" : "This IP, site or mobile application is not authorized to use this API key. Request received from IP address 223.255.255.255, with empty referer", 
    "html_attributions" : [], 
    "status" : "REQUEST_DENIED" 
} 

Dann seine Erlaubnis Problem, außer dass, wenn der Erfolg wahrscheinlich dann müssen Sie Ihren Code überprüfen.

Hoffe, dass dies hilft.