我是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");
}
}
我还有一大块代码,我没有找到地理定位,然后有变量纬度和经度,我试图在这部分使用它将它添加到位置。
再次抱歉,如果这是无组织的,我会尝试澄清或包含我需要的任何其他内容。
答案 0 :(得分:0)
这个javascript是在网站或手机应用上运行还是什么?
我无法正确测试您的代码,因为您的api密钥特定于您的域(CORS),而且您的信息有点模糊,但是从查看上面的内容,您需要稍微重新构建一下代码:
你应该在你的forloop之外移动httpRequest作为初学者,因为你正在做同样的请求12次,而是循环通过data.results
数组的请求,然后将每个标记/位置添加到你的地图。