Google Places API - 使用复选框中的多个地点类型

时间:2016-06-07 12:33:39

标签: google-maps google-places-api

更新: 我正在尝试将多种类型的Google地方API请求作为数组发送。但是,我无法使用复选框值中添加的位置列表传递数组变量。任何帮助都将受到高度赞赏。

这有效:

var poi = new google.maps.LatLng(lt,lg);
var gplaces = ['shopping_mall','bus_station'];

var request = {
    location: poi,
    radius: '500',
    types: gplaces
  };

但不是这样:

var poi = new google.maps.LatLng(lt,lg);
var gplaces = []

$('#chklist:checked').each(function() {
   gplaces.push($(this).val());
 });

var request = {
    location: poi,
    radius: '500',
    types: gplaces
  };

在第二种情况下,API会返回一个默认的地点列表(好像我根本没有传递任何类型)。

我尝试了一个console.log(gplaces),它包含[' shopping_mall',' bus_station']。

我还检查了console.log(请求),我可以在请求中看到列表中的各个元素。

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

我尝试了两个代码,它对我有用。也许这个问题不存在。尝试再次检查它以确认错误的位置。

以下是我测试的样本。

public function __wakeup()
{
    $this->_mysql = new MysqliConnect(); //My custom mysqliwrapper
}

这里他们都在工作。

infowindow = new google.maps.InfoWindow();
var service = new google.maps.places.PlacesService(map);
var gplaces = ['shopping_mall','bus_station']
service.nearbySearch({
location: pyrmont,
radius: '500',
types: gplaces
}, callback);

另外,对于其他信息,自2016年2月16日起不再使用infowindow = new google.maps.InfoWindow(); var service = new google.maps.places.PlacesService(map); service.nearbySearch({ location: pyrmont, radius: 500, types: ['shopping_mall','bus_station'] }, callback); 参数,而是替换为每个搜索请求仅支持一个types的新类型参数。 (但是,这些类型仍可能在搜索结果中返回)。在 2017年2月16日之前,将支持使用已弃用功能的请求,之后所有文本搜索都必须使用新实现。

请注意这个deprecation announcement