2016-07-12 10 views
0

私は自分のアプリケーションのために角度のためにNg-Mapを実装していました。だから私はデータベースからエントリを取得し、マーカーを落とそうとします。しかし、問題は約40のエントリがあり、最初の11個だけがマーカーに表示されます。私はチェックし、40のコーチはすべてモデルに入っています。残っているものはすべて地図の中央に表示されます。私のアプリケーションには、場所のフィルタがあります。したがって、特定の場所のフィルタを追加すると、すべてのマーカーがその場所に表示されますが、一度削除すると最初の11個だけが表示されます。なにが問題ですか?NgMap Angular Markers

<ng-map center="37.09024, -95.712891" zoom="4" mayTypeId="ROADMAP" 
style="height: 88%; width: 100%" styles="{{model.styles}}" 
        pan-control="false" 
        map-type-control="false" 
        map-type-control-options="false" 
        zoom-control="true" 
        zoom-control-options="false"> 


       <marker ng-repeat="coach in model.coaches track by $index" 
         id="{{$index}}" 
         position="{{coach.Town}} {{coach.State}}{{coach.Zipcode}}" 
         on-mouseover="model.showinfowindow(event,$index)" 
         on-mouseout="model.hideinfowindow()" 
         on-click="model.viewMapProfile(coach)"> 
       </marker> 


       <info-window id="foo"> 
        <div ng-non-bindable="" align="center" class="mapViewProfile" style="padding-left: 20px"> 
         {{model.coach.name}}<br> 
         {{model.coach.schoolName}} 
        </div> 
       </info-window> 

      </ng-map> 
+0

スロットルの問題のようです。ジオコーディングのようなサービスが内部で使用されているかどうか知っていますか? – xomena

+0

@xomena私のコードでは?または指示? – user2984132

答えて

0

position="{{coach.Town}} {{coach.State}}{{coach.Zipcode}}"を見て、私はどこかでディレクティブであなたが調整するために、文字列のアドレスを解決しなければならないことを理解しています。

文字列を解決するには、ジオコーディングサービス要求を実行する必要があります。 Maps JavaScript APIには、最初に1バースあたり1リクエストのリクエストを実行できるようになった時点で、10個のジオコーディングリクエストのバケットがあります。したがって、最初のバケット+ 1リクエストから10個のマーカーがあり、それ以外はすべてOVER_QUERY_LIMITを返します。

この場合、ng-repeatはジオコーディング要求をAPIが許可するよりも速く実行します。

+0

何が行われるのですか?私の40のマーカーがすべて表示されるように。 – user2984132

+0

ありがとう!あなたは正しかった!データベースの座標を保存することができました! – user2984132

関連する問題