谷歌地图API v3;web服务请求,并使用for循环显示多个位置



我是javascript的新手,所以如果我的问题不清楚,我很抱歉。我会尽量澄清。

我正在努力实现的目标:获取谷歌地图,根据您当前的位置填充健身房。(目前,它只填充了一个健身房,并且只用于当我删除循环并在I的位置输入0时输入的坐标)

我正在尝试创建一个for循环,以便它多次运行代码块,并根据搜索和用户当前位置在地图上添加多达12个标记。

我也不知道如何将用户的地理位置添加到httpRequest中。我尝试制作一个变量"both"(我注释掉了),当它放在httprequest的位置下时,它会输入用户当前的纬度和经度。

这是我的一大块代码:

function handler_actionBtn8_onClick(mouseev){
//console.log("in button click at top " + latitude + longitude);
// both = [latitude,longitude];
for (var i=0; i<12; i++){
var data = app.httpRequest(
"https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=41.265319,-95.948305&radius=1000&types=gym&sensor=false&key=AIzaSyCKnE1Fk2JKQXjhYuVuBK1uPZOz_bpNZRQ", 
"GET", 
function(data, error, httpResponse){
if (error === false){
console.log("in function if, error was false");
console.log("data.results[i].name is " + data.results[i].name);
console.log("the lng is " + data.results[i].geometry.location.lng);
console.log("the lat is " + data.results[i].geometry.location.lat);
// now need to display in map widget
var temp = [data.results[i].geometry.location.lat, data.results[i].geometry.location.lng];
app.setValue("googlemap", temp);
// app.setProperty("gmap", "longitude", data.results[i].geometry.location.lng);
//app.setProperty("gmap", "latitude", data.results[i].geometry.location.lat);         
} else {
app.showMessage("AJAX Error", "Cannot locate it");
console.log("here is the error place data", data);
}
}, {}, "JSON"); 
}
}

我还有一段我没有包含的代码,它找到了地理位置,然后有了变量纬度和经度,我试图在这一部分中使用这些变量将其添加到位置中。

再次抱歉,如果这是无组织的,我会尽力澄清或包括我需要的任何其他内容。

这个javascript是在网站或手机应用程序上运行的吗?

我无法正确测试你的代码,因为你的api密钥是特定于你的域(CORS)的,你的信息有点模糊,但从上面的内容来看,你需要重新构建你的代码:首先,您应该将httpRequest移到forloop之外,因为您要发出12次相同的请求,而不是循环通过请求的data.results数组,然后将每个标记/位置添加到地图中。

最新更新