2017-08-01 9 views
0

だから私は現在、GoogleがAPIを配置利用したプロトタイプに取り組んでいます、そしてここに示されているAPIドキュメントに苦しんでいます:要するにhttps://developers.google.com/places/web-service/searchGoogleがAPI「rankby =場所」の問題を置く

、rankby = '場所'オプションは、文書に反して半径設定を必要とするように思われる(半径がコメントアウトされている場合、API要求エラー:「キャッチされていないエラー:パラメータがありません。

Infact、rankby = 'location'オプションは何もしていないようですが、私が戻ってくるリストには離れたアイテムがあります(緯度/経度変換を使用)。そのオプションをコメントアウトしたときと同じ応答(半径内のすべての公園を検索)。

codepen:シンプルな場所APIの https://codepen.io/creative-lab-sydney/pen/18afe9d8500d490cbe93be68109c5b82

のコードサンプルでは、​​ "nearbySearch" の要求は:

const places = document.querySelector('#places'); 
const RADIUS = 700; 
let request = { 
    location: userLocation, // taken from navigator.geoLocation 
    radius: RADIUS, // mandatory now (?) RADIUS = 50; 
    type: ['park'], 
    rankby: 'distance', 
}; 
const service = new google.maps.places.PlacesService(document.querySelector('#moo')); 
service.nearbySearch(request, callback); 
function callback(results, status) { 
    if (status === google.maps.places.PlacesServiceStatus.OK) { 
    Object.keys(results).map(key => { 
     let item = results[key]; 
     let placeLocation = { 
     lat: item.geometry.location.lat(), 
     lng: item.geometry.location.lng() 
     }; 
     let distObj = getDistance(userLocation, placeLocation); 
     let div = document.createElement('div'); 
     div.appendChild(document.createTextNode(`${item.name} - dist: ${distObj.text}`)); 
     places.appendChild(div); 
    }); 
    } 
} 

は誰にも最近、このAPIに苦労していますか?

答えて

1

OK、私は構文が少し間違っているようです。 リクエストの構文は次のとおりです。

var request = { 
    location: userLocation, 
    type: ['park'], 
    rankBy: google.maps.places.RankBy.DISTANCE, 
}; 
関連する問題