久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

<legend id='mq7gi'><style id='mq7gi'><dir id='mq7gi'><q id='mq7gi'></q></dir></style></legend>

    • <bdo id='mq7gi'></bdo><ul id='mq7gi'></ul>

    <tfoot id='mq7gi'></tfoot>
    <i id='mq7gi'><tr id='mq7gi'><dt id='mq7gi'><q id='mq7gi'><span id='mq7gi'><b id='mq7gi'><form id='mq7gi'><ins id='mq7gi'></ins><ul id='mq7gi'></ul><sub id='mq7gi'></sub></form><legend id='mq7gi'></legend><bdo id='mq7gi'><pre id='mq7gi'><center id='mq7gi'></center></pre></bdo></b><th id='mq7gi'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='mq7gi'><tfoot id='mq7gi'></tfoot><dl id='mq7gi'><fieldset id='mq7gi'></fieldset></dl></div>

        <small id='mq7gi'></small><noframes id='mq7gi'>

        Leaflet JS - 實現手勢處理以強制 2 手指滾動

        Leaflet JS - Implementing Gesture Handling to enforce 2 fingered scrolling(Leaflet JS - 實現手勢處理以強制 2 手指滾動)
          <bdo id='bXxG8'></bdo><ul id='bXxG8'></ul>

          1. <tfoot id='bXxG8'></tfoot>
          2. <legend id='bXxG8'><style id='bXxG8'><dir id='bXxG8'><q id='bXxG8'></q></dir></style></legend>
          3. <small id='bXxG8'></small><noframes id='bXxG8'>

                    <tbody id='bXxG8'></tbody>
                  <i id='bXxG8'><tr id='bXxG8'><dt id='bXxG8'><q id='bXxG8'><span id='bXxG8'><b id='bXxG8'><form id='bXxG8'><ins id='bXxG8'></ins><ul id='bXxG8'></ul><sub id='bXxG8'></sub></form><legend id='bXxG8'></legend><bdo id='bXxG8'><pre id='bXxG8'><center id='bXxG8'></center></pre></bdo></b><th id='bXxG8'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='bXxG8'><tfoot id='bXxG8'></tfoot><dl id='bXxG8'><fieldset id='bXxG8'></fieldset></dl></div>
                  本文介紹了Leaflet JS - 實現手勢處理以強制 2 手指滾動的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  您知道當您使用移動設備并向下滾動包含谷歌地圖的網頁時.地圖變暗并告訴您用兩根手指移動地圖".

                  You know when you're on a mobile device and you scroll down a web page which has a google map. The map goes dark and tells you "Use two fingers to move the map".

                  我想在我的傳單地圖中完全實現這一點.Leaflet 目前不提供這種開箱即用的功能.

                  I want to implement exactly this in my Leaflet map. Leaflet doesn't currently offer this kind of functionality out the box.

                  Google 將此功能稱為手勢處理.如果你將它設置為合作",你就會得到我剛才描述的效果.https://developers.google.com/maps/documentation/javascript/interaction

                  Google refers to this functionality as Gesture Handling. If you set it to "Cooperative" you get the effect I just described. https://developers.google.com/maps/documentation/javascript/interaction

                  檢測正在使用的手指數量并顯示消息很容易,如我的代碼示例所示.(您需要在移動設備或模擬器上運行它才能看到它的效果)

                  It's easy enough to detect the number of fingers being used and display the message as shown in my code example. (You'll need to run this on a mobile device or emulator to see it in effect)

                  如果是 1 根手指,我會取消 touchmove 事件并顯示我的警告.否則,我允許該事件應用于地圖.但是在我在地圖上取消它之后,我需要想辦法將一個手指觸摸事件應用到包含頁面.以便用戶滾動頁面.

                  If it's 1 finger I cancel the touchmove event and show my warning. Otherwise I allow the event to apply to the map. But I need to figure out some way of applying that one fingered touch event to the containing page after I've cancelled it on the map. So that the user scrolls the page instead.

                  有沒有人有任何好主意如何實現這一目標?我想過使用 dispatchEvent 將接收到的 touchmove 事件對象直接中繼到父文檔.例如:document.dispatchEvent(touchmoveevent);但沒有運氣.也許有更好的整體方法.

                  Does anyone have any good ideas how to achieve this? I thought about using dispatchEvent to relay the received touchmove event object directly to the parent document. e.g: document.dispatchEvent(touchmoveevent); But no luck. Perhaps there's a better overall approach.

                  var myMap = L.map('mapid').setView([51.505, -0.09], 13);
                  
                  L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
                    maxZoom: 19
                  }).addTo(myMap);
                  
                  $("#mapid").on("touchmove", function(e) {
                    if (e.touches.length !== 2) {
                      $('.mask').fadeIn();
                      return false;
                    }
                  });
                  
                  $("#mapid").on("touchend", function(e) {
                    if ($('.mask').is(':visible')) {
                      $('.mask').fadeOut();
                    }
                  });

                  #mapid {
                    height: 600px;
                  }
                  
                  .mask {
                    display: none;
                    position: absolute;
                    width: 100%;
                    height: 100%;
                    background: rgba(0, 0, 0, 0.8);
                    top: 0;
                    left: 0;
                    z-index: 400;
                  }
                  
                  .message {
                    color: #ffffff;
                    position: absolute;
                    width: 100%;
                    text-align: center;
                    top: 50%;
                    transform: translateY(-50%);
                  }

                  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
                  <link rel="stylesheet"  integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ==" crossorigin="" />
                  <script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js" integrity="sha512-/Nsx9X4HebavoBvEBuyp3I7od5tA0UzAxs+j83KgC8PU0kgB4XiK4Lfe4y4cgBtaRJQEIFCW+oC506aPT2L1zw==" crossorigin=""></script>
                  
                  <head>
                    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
                  
                    <head>
                  
                      <body>
                        <h1>Leaflet Map</h1>
                  
                        <div id="mapid"></div>
                        <div class="scroll-shield"></div>
                        <div class="mask">
                          <div class="message">
                            <p>Use two fingers to move the map</p>
                          </div>
                        </div>
                  
                        <h2>Stuff below</h2>
                        <ul>
                          <li>Here</li>
                          <li>is</li>
                          <li>some</li>
                          <li>stuff</li>
                          <li>below</li>
                        </ul>
                  
                      </body>

                  推薦答案

                  這樣做的關鍵是確保在初始化地圖時禁用拖動、點擊和 scrollWheelZoom.

                  The key to this was ensuring that dragging, tap and scrollWheelZoom are disabled when intitializing the map.

                  然后在檢測到 2 根手指拖動或使用命令或 ctrl 鍵滾動時暫時重新啟用它們.

                  Then temporarily re-enabling them when 2 fingered dragging, or scrolling with command or ctrl key is detected.

                  我現在已將此解決方案打包到傳單插件中.

                  I've now packaged this solution into a leaflet plugin.

                  https://github.com/elmarquis/Leaflet.GestureHandling

                  這篇關于Leaflet JS - 實現手勢處理以強制 2 手指滾動的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Check if a polygon point is inside another in leaflet(檢查一個多邊形點是否在傳單中的另一個內部)
                  Changing leaflet markercluster icon color, inheriting the rest of the default CSS properties(更改傳單標記群集圖標顏色,繼承其余默認 CSS 屬性)
                  Trigger click on leaflet marker(觸發點擊傳單標記)
                  How can I change the default loading tile color in LeafletJS?(如何更改 LeafletJS 中的默認加載磁貼顏色?)
                  Add external geojson to leaflet layer(將外部geojson添加到傳單層)
                  Adding Leaflet layer control to sidebar(將 Leaflet 圖層控件添加到側邊欄)
                1. <legend id='aiHwO'><style id='aiHwO'><dir id='aiHwO'><q id='aiHwO'></q></dir></style></legend><tfoot id='aiHwO'></tfoot>

                      <bdo id='aiHwO'></bdo><ul id='aiHwO'></ul>

                        <small id='aiHwO'></small><noframes id='aiHwO'>

                              <tbody id='aiHwO'></tbody>
                          1. <i id='aiHwO'><tr id='aiHwO'><dt id='aiHwO'><q id='aiHwO'><span id='aiHwO'><b id='aiHwO'><form id='aiHwO'><ins id='aiHwO'></ins><ul id='aiHwO'></ul><sub id='aiHwO'></sub></form><legend id='aiHwO'></legend><bdo id='aiHwO'><pre id='aiHwO'><center id='aiHwO'></center></pre></bdo></b><th id='aiHwO'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='aiHwO'><tfoot id='aiHwO'></tfoot><dl id='aiHwO'><fieldset id='aiHwO'></fieldset></dl></div>
                            主站蜘蛛池模板: 国产av毛片 | 日日日操| 国产精品电影在线观看 | 蜜桃av人人夜夜澡人人爽 | 国产成人精品免高潮在线观看 | 日韩波多野结衣 | 久久九九免费 | 99免费视频| 国内精品视频免费观看 | 日韩在线观看一区 | 欧美一区二区三区在线观看 | 亚洲一区 | 综合自拍 | 日本网站在线看 | 一级a性色生活片久久毛片 一级特黄a大片 | 中文字幕av网 | 国产免费看 | 999国产视频 | 一区在线观看视频 | 国产精品一区二区免费 | 一级毛片在线播放 | 午夜日韩| 91秦先生艺校小琴 | 中文字幕在线一区 | 亚洲第1页 | 成人高清视频在线观看 | 精品一区在线 | 精品国产一区二区三区四区在线 | 成人在线a | 日本高清aⅴ毛片免费 | 亚洲第一免费播放区 | 欧洲视频一区二区 | 日韩av在线一区二区三区 | 毛片免费在线 | 日韩精品一区二区三区 | 亚洲电影一区二区三区 | 日本午夜一区二区三区 | 麻豆久久精品 | 羞羞的视频网站 | 久久99精品久久久 | 久久国产一区二区三区 |