Can';在JavaScript中,似乎没有在连接结果周围加括号
使用复选框值填充数组,然后连接这些元素,我需要在连接的元素周围放上括号,以执行GooglePlace类型请求 以下是复选框:Can';在JavaScript中,似乎没有在连接结果周围加括号,javascript,jquery,html,Javascript,Jquery,Html,使用复选框值填充数组,然后连接这些元素,我需要在连接的元素周围放上括号,以执行GooglePlace类型请求 以下是复选框: <form id= "checkboxes"> <label> Types of Places</label> <link rel="stylesheet" type="text/css" href="css/style.css"> <input type="checkbox" name="cbox" va
<form id= "checkboxes">
<label> Types of Places</label>
<link rel="stylesheet" type="text/css" href="css/style.css">
<input type="checkbox" name="cbox" value="woodland" class="places"/>
<label for="woodland"><img src="../img/Woodland.jpg" /></label>
<input type="checkbox" name="cbox" value="lodging" class="places"/>
<label for="viewpoint"><img src="../img/Viewpoint.jpg" /></label>
<input type="checkbox" name="cbox" value="restaurant" class="places"/>
<label for="restaurant"><img src="../img/Restaurant.jpg" /></label>
<input type="checkbox" name="cbox" value="museum" class="places" />
<label for="historical"><img src="../img/Historical.jpg" /></label>
</form>
</form>
这是用于连接元素和执行位置搜索的JavaScript:
function findPlaces(boxes,searchIndex) {
var typeP = placeT.join('", "');
var request = {
bounds: boxes[searchIndex],
types: typeP
};
//alert(request.bounds);
service.radarSearch(request, function (results, status) {
if (status != google.maps.places.PlacesServiceStatus.OK) {
alert("Request["+searchIndex+"] failed: "+status);
}
// alert(results.length);
document.getElementById('side_bar').innerHTML += "bounds["+searchIndex+"] returns "+results.length+" results<br>"
for (var i = 0, result; result = results[i]; i++) {
var marker = createMarker(result);
}
searchIndex++;
if (searchIndex < boxes.length)
findPlaces(boxes,searchIndex);
});
}
函数findPlaces(框、搜索索引){
var typeP=placeT.join(“,”);
var请求={
边界:框[searchIndex],
类型:typeP
};
//警报(request.bounds);
服务.雷达搜索(请求、功能(结果、状态){
if(status!=google.maps.places.PlacesServiceStatus.OK){
警报(“请求[“+searchIndex+”]失败:“+状态”);
}
//警报(结果、长度);
document.getElementById('side_bar')。innerHTML+=“bounds[“+searchIndex+”]返回“+results.length+”结果
”
for(变量i=0,结果;结果=结果[i];i++){
var marker=createMarker(结果);
}
searchIndex++;
if(searchIndex
例如,请求中的
类型的最终格式需要是[“博物馆”、“餐厅”]。搜索工作正常,类型:[“博物馆”、“餐厅”]
但我似乎无法在typeP
结果周围放上括号。非常感谢您的帮助 只需传递数组,如:var request={bounds:box[searchIndex],types:placeT};不使用join()是否希望将place数组作为json字符串?如果是,则使用JSON.stringify()它将为您的数组提供JSON。您缺少外部引号:var typeP=''“+placeT.join('”,“)+'”代码>是否需要在其周围使用brakets?只需传递数组,如:var request={bounds:box[searchIndex],types:placeT};不使用join()。@Alok修复了它,谢谢!很高兴能帮上忙,你能帮我投票吗
function findPlaces(boxes,searchIndex) {
var typeP = placeT.join('", "');
var request = {
bounds: boxes[searchIndex],
types: typeP
};
//alert(request.bounds);
service.radarSearch(request, function (results, status) {
if (status != google.maps.places.PlacesServiceStatus.OK) {
alert("Request["+searchIndex+"] failed: "+status);
}
// alert(results.length);
document.getElementById('side_bar').innerHTML += "bounds["+searchIndex+"] returns "+results.length+" results<br>"
for (var i = 0, result; result = results[i]; i++) {
var marker = createMarker(result);
}
searchIndex++;
if (searchIndex < boxes.length)
findPlaces(boxes,searchIndex);
});
}