[ionic] iOS9에서 GoogleMap 마커가 응답하지 않는 버그 대응

ionic을 이용한 web 앱 내에서 Google Map의 마커가 반응하지 않게 되는 버그가 발생해, 버그 대응에서는 멈췄기 때문에 메모.

현상



iOS9에서 ionic을 이용한 앱(web 포함)에서 Google Map을 열고 지도에서 마커를 탭하면 첫 번째 탭에서는 팝오버(정보 창)가 표시되지만, 몇 번 탭하면 마커가 반응하지 않게 된다.



사용한 google map 라이브러리
htps : // 기주 b. 코 m / Angu r-ui / Angu r-o g ぇ- ps

원인



iOS9의 경우에만 ionic.js의 함수 "isElementTapDisabled()"에서 오류가 발생합니다.
뭔가의 원인으로 isElementTapDisabled 내의 while의 루프로 stuck 해 버린다.

해결 방법



ionic.js를 다음과 같이 수정한다.

ionic.js
isElementTapDisabled: function(ele) {

    if (ele && ele.nodeType === 1) {
      var element = ele;
      /* ここから追加 */
      if ($(element).parents('[data-tap-disabled]').length) {
        return true;    
      }
      /* ここまで */
      /*
      while (element) {
        if ((element.dataset ? element.dataset.tapDisabled : element.getAttribute('data-tap-disabled')) == 'true') {

          return true;
        }
        element = element.parentElement;
      }*/
    }
    return false;

},

참고
htps : // 기주 b. 코 m / 드 fty 코 / 이오니 c / 이스에 s / 4506

좋은 웹페이지 즐겨찾기