pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

<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="dm0s5ah" 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="0ucqe0q" 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="u5yqmsc" id='aiHwO'><tfoot id='aiHwO'></tfoot><dl id='aiHwO'><fieldset id='aiHwO'></fieldset></dl></div>
                            主站蜘蛛池模板: 皮带机_移动皮带机_大倾角皮带机_皮带机厂家 - 新乡市国盛机械设备有限公司 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | 自动钻孔机-全自动数控钻孔机生产厂家-多米(广东)智能装备有限公司 | 金属切削液-脱水防锈油-电火花机油-抗磨液压油-深圳市雨辰宏业科技发展有限公司 | 塑木弯曲试验机_铜带拉伸强度试验机_拉压力测试台-倾技百科 | 网站建设-高端品牌网站设计制作一站式定制_杭州APP/微信小程序开发运营-鼎易科技 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 【北京写字楼出租_写字楼租赁_办公室出租网/出售】-远行地产官网 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 影合社-影视人的内容合作平台 | 福建珂朗雅装饰材料有限公司「官方网站」 | 黑龙江「京科脑康」医院-哈尔滨失眠医院_哈尔滨治疗抑郁症医院_哈尔滨精神心理医院 | 沈阳激光机-沈阳喷码机-沈阳光纤激光打标机-沈阳co2激光打标机 | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 富森高压水枪-柴油驱动-养殖场高压清洗机-山东龙腾环保科技有限公司 | 乐泰胶水_loctite_乐泰胶_汉高乐泰授权(中国)总代理-鑫华良供应链 | 三轴曲线机-端子插拔力试验机|华杰仪器| 开云(中国)Kaiyun·官方网站 - 登录入口 | 不锈钢酒柜|恒温酒柜|酒柜定制|酒窖定制-上海啸瑞实业有限公司 | 净水器代理,净水器招商,净水器加盟-FineSky德国法兹全屋净水 | 江苏南京多语种翻译-专业翻译公司报价-正规商务翻译机构-南京华彦翻译服务有限公司 | 东莞市海宝机械有限公司-不锈钢分选机-硅胶橡胶-生活垃圾-涡电流-静电-金属-矿石分选机 | 沉降天平_沉降粒度仪_液体比重仪-上海方瑞仪器有限公司 | 北京普辉律师事务所官网_北京律师24小时免费咨询|法律咨询 | 西装定制/做厂家/公司_西装订做/制价格/费用-北京圣达信西装 | LED显示屏_LED屏方案设计精准报价专业安装丨四川诺显科技 | 膜结构停车棚-自行车棚-膜结构汽车棚加工安装厂家幸福膜结构 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 郑州水质检测中心_井水检测_河南废气检测_河南中环嘉创检测 | 回转炉,外热式回转窑,回转窑炉-淄博圣元窑炉工程有限公司 | 科威信洗净科技,碳氢清洗机,超声波清洗机,真空碳氢清洗机 | 高考志愿规划师_高考规划师_高考培训师_高报师_升学规划师_高考志愿规划师培训认证机构「向阳生涯」 | 防渗膜厂家|养殖防渗膜|水产养殖防渗膜-泰安佳路通工程材料有限公司 | 挤塑板-XPS挤塑板-挤塑板设备厂家[襄阳欧格] | [品牌官网]贵州遵义双宁口腔连锁_贵州遵义牙科医院哪家好_种植牙_牙齿矫正_原华美口腔 | 中宏网-今日新闻-财经新闻| 「阿尔法设计官网」工业设计_产品设计_产品外观设计 深圳工业设计公司 | 国产离子色谱仪,红外分光测油仪,自动烟尘烟气测试仪-青岛埃仑通用科技有限公司 | 深圳宣传片制作-企业宣传视频制作-产品视频拍摄-产品动画制作-短视频拍摄制作公司 | 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 |