Google Maps API v3; Web服务请求并使用for循环显示多个位置

时间:2012-12-10 06:07:50

标签: javascript web-services google-maps google-maps-api-3 for-loop

我是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"); 
}
}

我还有一大块代码,我没有找到地理定位,然后有变量纬度和经度,我试图在这部分使用它将它添加到位置。

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

1 个答案:

答案 0 :(得分:0)

这个javascript是在网站或手机应用上运行还是什么?

我无法正确测试您的代码,因为您的api密钥特定于您的域(CORS),而且您的信息有点模糊,但是从查看上面的内容,您需要稍微重新构建一下代码: 你应该在你的forloop之外移动httpRequest作为初学者,因为你正在做同样的请求12次,而是循环通过data.results数组的请求,然后将每个标记/位置添加到你的地图。

相关问题