2017-10-30 14 views
0

私はGoogleプレイスAPIを使用しています。近くの検索の場所の画像を取得しようとしています。私はいくつかのバリエーションを試しましたが、ドキュメントが正しくないか、または明らかに間違っていないことをやっているようです。角度アプリを使用してGoogle apiから近くの検索の場所を取得するにはどうすればよいですか?

私はこれを試しました。

let request2 = { 
     key: this.apiKey.getStandardGoogleKey(), 
     placeId:"place_id_to_be_used" 
    }; 

    service.getDetails(request2, (results, status)=> this.callback2(results, status)); 
    } 

    callback2(results, status){ 
    console.log(results); 
    } 

は私が画像にアクセスできるように、ドキュメントによると、写真の配列はphoto_referenceを含める必要があり enter image description here

この結果を得るが、それはしていません。

私はまた、APIは、私は郵便配達からこれを行うと、私はphoto_referenceを取得し、この

https://maps.googleapis.com/maps/api/place/nearbysearch/output?parameters 

を使用して、角度 からのHTTPリクエストに直接アクセスを試してみました。しかし、私は角のアプリからこれを行うとき、私はこのように見えるCORSのエラーを取得します。

enter image description here

私はクロムにプラグインを追加することで、ローカルにこの問題を回避することができますが、エラーが本番サーバー上で返されました。

私の質問です。近傍の検索から取得したplaceidや別の値のgoogle places apiや別のgoogle apiからphoto_refenceを取得するにはどうすればよいですか?

答えて

0

photo_referenceプロパティは、Places API web serviceの応答に表示されます。あなたが言及したように、CORSエラーをもたらすWebブラウザのsame-origin policyのために、クライアントサイドのJavaScriptコードから直接Webサービスを呼び出すことはできません。

あなたのスクリーンショットを見ると、コードで使用したライブラリはMaps JavaScript APIのプレイスサービスを使用していると言えます。コールバック関数がPlaceResultオブジェクトを受け取り

https://developers.google.com/maps/documentation/javascript/reference#PlacesService

https://developers.google.com/maps/documentation/javascript/reference#PlaceResult

場所結果はPlacePhotoオブジェクトの配列が含まれています

https://developers.google.com/maps/documentation/javascript/reference#PlacePhoto

だからでPlacesServiceの getDetails()メソッドを呼び出します

As PlacePhotoオブジェクトにはgetUrl(opts:PhotoOptions)メソッドがあります。

指定されたオプションに対応する画像URLを返します。 MaxWidthまたはmaxHeightのうちの少なくとも1つを指定してPhotoOptionsオブジェクトを含める必要があります。

この方法を使用すると、写真のURLが表示されます。

こちらがお役に立てば幸いです。

関連する問題