2

編集:問題は解決しました このような変数を使用して型を割り当てようとしています

    check = [];

if($("#transport").attr("checked"))
check.push('airport','bus_station','train_station','taxi_stand','travel_agency');

if($("#bars").attr("checked"))
check.push('bar','restaurant');

if($("#tourist").attr("checked"))
check.push('art_gallery','campground','museum','aquarium','zoo','library','amusement_park','park');

if($("#shopping").attr("checked"))

check.push('shopping_mall','shoe_store','jewelry_store','grocery_or_supermarket','furniture_store','electronics_store','clothing_store','book_store');

 var tmp_types = "";
for(i=0;i<1;i++)
{
    tmp_types += '"'+check[i]+'"';
}

var request = {
    location: latlng,
    radius: '50000',
    types: [ tmp_types ]
  };

service = new google.maps.places.PlacesService(map);
service.nearbySearch(request, callback);

しかし、うまくいきません...誰か助けてくれませんか...ありがとう

解決策: tmp_types の代わりに check を使用し、角かっこを削除します..このタイプのように: check.. Bruno に感謝します

4

1 に答える 1

0

あなたの条件がi < 1

for( var i=0, len = check.length; i < len; i++ ) {
    // your code here
}

また、APIドキュメントによると、呼び出している関数は、リクエストオブジェクトのタイプが次のようになることを期待しています:

Google Places API: サポートされているプレイス タイプのリストにリストされている、サポートされているタイプを 1 つ以上含む配列。

したがって、そのようにチェックオブジェクトを使用してください

var request = {
    location: latlng,
    radius: '50000',
    types: check
};

詳細はこちら

于 2012-11-18T14:29:45.907 に答える