2016-10-25 11 views
0

マーカーを配列に格納しようとしていますが、あとでその場所のapiデータをリストにプッシュできます。私はこれを理解することに問題があります。Googleマップマーカーを配列に保存する

誰かが正しい方向に私を指すことができれば、私は非常に感謝します。

 function callback(results, status) { 
     if (status === google.maps.places.PlacesServiceStatus.OK) { 
      for (var i = 0; i < results.length; i++) { 
      createMarker(results[i]); 
      allResults = [results[i]]; 
      } 
     } 
     } 


    self.allResults = ko.observableArray([]); 
    self.listPlaces = function() { 
    for (var i = 0; i < results.length; i++) { 
     allResults.push([results[i]]); 
    } 
    }; 

allResultsあなたが分割マーカーの作成やリストの作成を持っている、しかし、あなたがそれらを一緒に持っていた場合、それはより簡単にうまくいくように見えますvar allResults = [];

答えて

0

として定義されているグローバル配列で、私は思います。 forループでは、新しい項目をリストに追加していないので、ループごとにリストを上書きしています。あなたのコード全体は含まれていませんが、あなたのlistPlaces関数があなたのresultsリストにアクセスできるかどうかは疑問です。あなたはあまり慣れていない方法でマーカーを作成しています。

どういうわけか、私はリストラを提案しています。まずオブザーバブル配列を定義し、それにマーカーを追加する必要があります。

これらのマーカーを作成した直後ではなく、マップに追加することもできます。しかし、あなたはそのことについて尋ねていないので、コード内の他の部分をすでに処理している可能性があります。

関連する問題