10

近くの場所を使用することを念頭に置いたプロジェクトのテストを行っています。そこで私は大物と一緒に、Google の Places Api をいじり始めました。マップにopenstreetタイルを含むリーフレットを使用しています。これで、ダンシングを使用するまでは問題ありません。

var lat = coords.lat;
var lng = coords.lng;
var apiUrl = "https://maps.googleapis.com/maps/api/place/nearbysearch/json";
var data = {
    key: 'AIzaSyBl8bmE8kQT7RjoXhP6k2yDti44h9-fSUI',
    location: lat+','+lng,
    radius: '10000',
    sensor: 'false',
    rankby: 'prominence',
    types: 'bar|night_club'
};
$.ajax({
  url: apiUrl,
  type: 'POST',
  data: data,    
  dataType:"jsonp",
  crossDomain: true,
  success: function(data) {
            var obj = $.parseJSON(data);
                // console.log(data.next_page_token);
          }
});

dataTypeプロパティをjson次のように変更するOrigin http://localhost is not allowed by Access-Control-Allow-Origin.jsonp を使用すると解析エラーが発生するUnexpected token :明らかに$.parseJSON機能しません... Google Maps API を使用せずにこれを機能させる方法はありますか? 答えが「いいえ」の場合... Google と同じくらい優れた場所の API は他にありますか?

ありがとう!

4

2 に答える 2

17

Places API Web サービスを使用しようとしていますが、これはサーバー コードから使用するためのものであり、JavaScript に必要な JSONP 出力をサポートしていません。

JavaScript では、Maps API V3のPlaces Libraryを使用する必要があります。JavaScript や jQuery コードから URL を直接ヒットすることはできません。(おそらく、Places Library が使用する URL パターンを見つけることができますが、利用規約では、API/ライブラリを経由せずに直接使用することは許可されておらず、URL はいつでも変更される可能性があります。)

JavaScript から Maps API を使用したくない理由はありますか?

于 2013-04-06T06:15:43.393 に答える