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>
                            主站蜘蛛池模板: EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 全自动变压器变比组别测试仪-手持式直流电阻测试仪-上海来扬电气 | 【同风运车官网】一站式汽车托运服务平台,验车满意再付款 | 中矗模型-深圳中矗模型设计有限公司 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | 一体化预制泵站-一体化提升泵站-一体化泵站厂家-山东康威环保 | 深圳展厅设计_企业展馆设计_展厅设计公司_数字展厅设计_深圳百艺堂 | 天津次氯酸钠酸钙溶液-天津氢氧化钠厂家-天津市辅仁化工有限公司 | 西点培训学校_法式西点培训班_西点师培训_西点蛋糕培训-广州烘趣西点烘焙培训学院 | 宿舍管理系统_智慧园区系统_房屋/房产管理系统_公寓管理系统 | 艺术涂料|木纹漆施工|稻草漆厂家|马来漆|石桦奴|水泥漆|选加河南天工涂料 | 阻垢剂,反渗透阻垢剂,缓蚀阻垢剂-山东普尼奥水处理科技有限公司 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 市政路灯_厂家-淄博信达电力科技有限公司 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | 药品冷藏箱厂家_低温冰箱_洁净工作台-济南欧莱博电子商务有限公司官网 | 探伤仪,漆膜厚度测试仪,轮胎花纹深度尺厂家-淄博创宇电子 | 座椅式升降机_无障碍升降平台_残疾人升降平台-南京明顺机械设备有限公司 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 沈阳激光机-沈阳喷码机-沈阳光纤激光打标机-沈阳co2激光打标机 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 优秀的临床医学知识库,临床知识库,医疗知识库,满足电子病历四级要求,免费试用 | 脱硝喷枪-氨水喷枪-尿素喷枪-河北思凯淋环保科技有限公司 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 热工多功能信号校验仪-热电阻热电偶校验仿真仪-金湖虹润仪表 | 一体化污水处理设备,一体化污水设备厂家-宜兴市福源水处理设备有限公司 | 辽宁资质代办_辽宁建筑资质办理_辽宁建筑资质延期升级_辽宁中杭资质代办 | 钢丝绳探伤仪-钢丝绳检测仪-钢丝绳探伤设备-洛阳泰斯特探伤技术有限公司 | 猎头招聘_深圳猎头公司_知名猎头公司| 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 无菌水质袋-NASCO食品无菌袋-Whirl-Pak无菌采样袋-深圳市慧普德贸易有限公司 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | 老房子翻新装修,旧房墙面翻新,房屋防水补漏,厨房卫生间改造,室内装潢装修公司 - 一修房屋快修官网 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 硬齿面减速机_厂家-山东安吉富传动设备股份有限公司 | 爆破器材运输车|烟花爆竹运输车|1-9类危险品厢式运输车|湖北江南专用特种汽车有限公司 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 |