2016-07-12 3 views
0

저는 응용 프로그램에서 Angle 용 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

을 보면 나는 어딘가에 문자열 주소를 해결해야 좌표를 알 수 있습니다.

문자열을 조정하여 지오 코딩 서비스 요청을 실행해야합니다. Maps JavaScript API는 처음에이 버킷을 사용하여 초당 요청 수 1에서 요청을 실행할 수있게되면 10 개의 지오 코딩 요청의 버킷을 포함합니다. 따라서 초기 버킷 + 1 요청에서 10 개의 마커가 있고 그 외 모든 것은 OVER_QUERY_LIMIT을 (를) 반환합니다.

이 경우 ng-repeat는 지오 코딩 요청을 API가 허용하는 것보다 빠르게 실행합니다.

+0

어떻게해야할까요? 내 40 개의 마커가 모두 표시됩니다. – user2984132

+0

고마워! 당신이 옳았! 데이터베이스에 좌표를 저장하는 것이 효과적입니다! – user2984132

관련 문제