如何使用javascript变量为附近的地方指定类型

时间:2012-11-18 14:03:09

标签: javascript api google-maps

编辑:问题解决了 我正在尝试使用像

这样的变量来分配类型
    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);

但它不起作用......任何人都可以帮助我......谢谢

解决方案:只需使用check代替tmp_types并删除方括号。就像这种类型:检查..感谢Bruno

1 个答案:

答案 0 :(得分:0)

你的for循环退出0,因为你的条件是i < 1

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

另外根据API文档,您调用的函数需要请求对象中的 types

  

包含一个或多个受支持类型的数组   Google Places API:支持的地方类型列表。

所以只需使用像这样的检查对象

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

更多信息here