2

JavaScript初心者のため、質問が不明確でしたら申し訳ありません。できるだけ明確にするよう努めます。

私が達成しようとしていること: Google マップを取得して、現在の場所に応じてジムを配置します。(現在、1 つのジムと、for ループを削除して i の場所に 0 を入力したときに入力された座標のみが読み込まれます)

コードのブロックを複数回実行し、検索とユーザーの現在の場所に基づいて最大 12 個のマーカーをマップに追加するように、for ループを作成しようとしています。

また、ユーザーの地理位置情報を httpRequest に追加する方法もわかりませんでした。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"); 
}
}

また、地理位置情報を見つけて、この部分でそれを場所に追加するために使用しようとしていた緯度と経度の変数を持つ、含めなかったコードのチャンクもあります。

これが整理されていない場合はもう一度申し訳ありませんが、他に必要なものを明確にするか含めるようにします.

4

1 に答える 1

0

この JavaScript は Web サイトまたは電話アプリで実行されていますか?

APIキーがドメイン(CORS)に固有であり、情報が少し曖昧であるため、コードを適切にテストできませんが、上記のものを見て、コードを少し再構築する必要があります。同じリクエストを12回行い、代わりにdata.resultsリクエストの配列をループして、各マーカー/場所をマップに追加します。

于 2013-01-31T05:16:45.710 に答える