更新: 我正在尝试将多种类型的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(请求),我可以在请求中看到列表中的各个元素。
有人可以帮帮我吗?
答案 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。