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

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

  • <tfoot id='VfKIv'></tfoot>

    <legend id='VfKIv'><style id='VfKIv'><dir id='VfKIv'><q id='VfKIv'></q></dir></style></legend>
  • <i id='VfKIv'><tr id='VfKIv'><dt id='VfKIv'><q id='VfKIv'><span id='VfKIv'><b id='VfKIv'><form id='VfKIv'><ins id='VfKIv'></ins><ul id='VfKIv'></ul><sub id='VfKIv'></sub></form><legend id='VfKIv'></legend><bdo id='VfKIv'><pre id='VfKIv'><center id='VfKIv'></center></pre></bdo></b><th id='VfKIv'></th></span></q></dt></tr></i><div class="prz9d31" id='VfKIv'><tfoot id='VfKIv'></tfoot><dl id='VfKIv'><fieldset id='VfKIv'></fieldset></dl></div>

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

        Leaflet LatLngBounds 與更簡單的 CRS &amp;投影

        Leaflet LatLngBounds with simpler CRS amp; projection(Leaflet LatLngBounds 與更簡單的 CRS amp;投影)

        <legend id='p9njm'><style id='p9njm'><dir id='p9njm'><q id='p9njm'></q></dir></style></legend><tfoot id='p9njm'></tfoot>
          <tbody id='p9njm'></tbody>

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

              <bdo id='p9njm'></bdo><ul id='p9njm'></ul>
              1. <i id='p9njm'><tr id='p9njm'><dt id='p9njm'><q id='p9njm'><span id='p9njm'><b id='p9njm'><form id='p9njm'><ins id='p9njm'></ins><ul id='p9njm'></ul><sub id='p9njm'></sub></form><legend id='p9njm'></legend><bdo id='p9njm'><pre id='p9njm'><center id='p9njm'></center></pre></bdo></b><th id='p9njm'></th></span></q></dt></tr></i><div class="3df71f1" id='p9njm'><tfoot id='p9njm'></tfoot><dl id='p9njm'><fieldset id='p9njm'></fieldset></dl></div>
                • 本文介紹了Leaflet LatLngBounds 與更簡單的 CRS &amp;投影的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我使用的是最新的穩定版本 Leaflet 0.7.7,并且我使用的是繼承自 L.CRS.Simple 的自定義 CRS.

                  I'm using Leaflet 0.7.7, latest stable release, and I'm using a custom CRS inherited from L.CRS.Simple.

                  CRS:

                  它與 Simple CRS 非常相似,但 c 設置為 1(在 Simple 中,c 設置為 -1).

                  It is very similar to Simple CRS but with c set to 1 (in Simple, c is set to -1).

                  L.CRS.XY = L.Util.extend({}, L.CRS.Simple, {
                      code: 'XY',
                      projection: L.Projection.LonLat,
                      transformation: new L.Transformation(1, 0, 1, 0)
                  });
                  

                  這個 CRS 的目標是擁有一個真正的 {x, y} 地圖系統,其中 y 在到達地圖底部時變得更高(如位圖).

                  The goal of this CRS is to have a real {x, y} map system where y becomes higher when reaching the bottom of the map (like a bitmap).

                  要測試的代碼:

                  var southWest = L.latLng(133, 0);
                  var northEast = L.latLng(0, 170);
                  var bounds = L.latLngBounds(southWest, northEast);
                  
                  document._map.setMaxBounds(bounds);
                  document._map.fitBounds(bounds);
                  document._markers[68].setLatLng(bounds.getNorthEast());
                  
                  console.info('southWest', southWest);
                  // L.LatLng {lat: 133, lng: 0}
                  
                  console.info('northEast', northEast);
                  // L.LatLng {lat: 0, lng: 170}
                  
                  console.info('bounds', bounds);
                  // L.LatLngBounds (
                      _northEast: L.LatLng {lat: 133, lng: 170 }
                      _southWest: L.LatLng {lat: 0, lng: 0 }
                  )
                  

                  實際上,由于我有一個自定義 CRS,我認為 這些行 是問題的根源,因為在平面 {x, y} 系統中最大值和最小值不正確(即使我更喜歡使用點",但我只能使用LatLng"對象:confused:).

                  Actually, as I have a custom CRS, I think these lines are the source of the problem because maximum and minimum values are not correct in a plane {x, y} system (even if I would prefer to use "Point" but I can only use "LatLng" objects :confused: ).

                  所以實際上,這個問題似乎很明顯來自我的代碼,但實際上我想為此找到一個不需要我切換到 L.CRS.Simple 的解決方案 其中 y 坐標在地圖頂部變得更高.

                  So actually, it seems it is obvious that this issue comes from my code, but actually I'd like to find a solution for this that wouldn't need me to switch to L.CRS.Simple in which y coordinates get higher on top of the map.

                  那么在這個簡單的自定義投影中使用邊界的解決方案是什么?

                  So what's the solution to use bounds with this simple custom projection?

                  推薦答案

                  聽起來 Leaflet 在內部假設 y 點在下降時增加(如圖像中),而緯度應該相反(即下降時減少),如 min、max、<= 和 >=比較是硬編碼的.

                  It sounds like Leaflet internally assumes that y points increase when going down (like in images), and it should be the opposite for latitude (i.e. decrease when going down), as the min, max, <= and >= comparisons are hard-coded.

                  因此,可能不可能組成一個 CRS,它會給你一個與 Y 點方向相同的緯度.除非您準備好修改 Leaflet 庫中比較緯度的每個函數……

                  So there is probably no possibility to make up a CRS that will give you a latitude in the same direction as the Y points. Except if you are ready to modify every function that compares latitudes within Leaflet library…

                  如果您每次必須提供坐標時都使用中間轉換函數,而當您必須讀取坐標時則相反,您仍然可以隨意操作"數字.

                  You may still be able to "manipulate" numbers like you wish, if you use an intermediate conversion function every time you have to provide coordinates, and the opposite when you have to read coordinates.

                  這也讓您有機會將緯度 (y) 和經度 (x) 的順序恢復為 [x, y].

                  That would also give you the opportunity to revert the latitude (y) and longitude (x) order to be [x, y].

                  例如:

                  function revertLat(x, y) {
                    return [-y, x];
                  }
                  

                  演示:http://jsfiddle.net/ve2huzxw/101/

                  原答案:

                  還有什么理由不直接自定義 L.LatLngBounds 以使其符合您的需要?

                  Any reason for not directly customizing L.LatLngBounds as well, so that it fits your need?

                  首先,如果您并不完全需要 southWest 和 northEast,而只需要 corners 作為邊界,則可以按原樣使用 L.LatLngBounds.例如,即使拐角不完全是西南和東北,所有 Leaflet 方法也會繼續工作:map.fitBoundsL.imageOverlay 等應該可以正常工作.

                  First of all, if you do not exactly need southWest and northEast, but just corners for your bounds, you can use L.LatLngBounds as is. For instance, all Leaflet methods would keep working even if the corners are not exactly southWest and northEast: map.fitBounds, L.imageOverlay etc. should work fine.

                  否則,您將不得不在 L.LatLngBounds 中自定義許多方法(擴展、填充、包含、相交)以恢復最小/最大和 <=/>= 比較.

                  Otherwise, you would have to customize many methods in L.LatLngBounds (extend, pad, contains, intersects) to revert the min / max and <= / >= comparisons.

                  這篇關于Leaflet LatLngBounds 與更簡單的 CRS &amp;投影的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持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 圖層控件添加到側邊欄)

                    <i id='cvLXO'><tr id='cvLXO'><dt id='cvLXO'><q id='cvLXO'><span id='cvLXO'><b id='cvLXO'><form id='cvLXO'><ins id='cvLXO'></ins><ul id='cvLXO'></ul><sub id='cvLXO'></sub></form><legend id='cvLXO'></legend><bdo id='cvLXO'><pre id='cvLXO'><center id='cvLXO'></center></pre></bdo></b><th id='cvLXO'></th></span></q></dt></tr></i><div class="jnr3xxv" id='cvLXO'><tfoot id='cvLXO'></tfoot><dl id='cvLXO'><fieldset id='cvLXO'></fieldset></dl></div>
                    • <bdo id='cvLXO'></bdo><ul id='cvLXO'></ul>
                      1. <legend id='cvLXO'><style id='cvLXO'><dir id='cvLXO'><q id='cvLXO'></q></dir></style></legend>
                          • <small id='cvLXO'></small><noframes id='cvLXO'>

                          • <tfoot id='cvLXO'></tfoot>
                              <tbody id='cvLXO'></tbody>
                            主站蜘蛛池模板: 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 隧道窑炉,隧道窑炉厂家-山东艾瑶国际贸易 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 医学模型生产厂家-显微手术模拟训练器-仿真手术模拟训练系统-北京医教科技 | 中天寰创-内蒙古钢结构厂家|门式刚架|钢结构桁架|钢结构框架|包头钢结构煤棚 | 旋振筛_不锈钢旋振筛_气旋筛_旋振筛厂家—新乡市大汉振动机械有限公司 | 顶空进样器-吹扫捕集仪-热脱附仪-二次热解吸仪-北京华盛谱信仪器 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 桥架-槽式电缆桥架-镀锌桥架-托盘式桥架 - 上海亮族电缆桥架制造有限公司 | 佛山商标注册_商标注册代理|专利注册申请_商标注册公司_鸿邦知识产权 | 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 深圳公司注册-工商注册代理-注册公司流程和费用_护航财税 | 鲁尔圆锥接头多功能测试仪-留置针测试仪-上海威夏环保科技有限公司 | hc22_hc22价格_hc22哈氏合金—东锜特殊钢| 圆盘鞋底注塑机_连帮鞋底成型注塑机-温州天钢机械有限公司 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 美缝剂_美缝剂厂家_美缝剂加盟-地老板高端瓷砖美缝剂 | 集装袋吨袋生产厂家-噸袋廠傢-塑料编织袋-纸塑复合袋-二手吨袋-太空袋-曹县建烨包装 | 诗词大全-古诗名句 - 古诗词赏析| 成都软件开发_OA|ERP|CRM|管理系统定制开发_成都码邻蜀科技 | 广州工业氧气-工业氩气-工业氮气-二氧化碳-广州市番禺区得力气体经营部 | 茅茅虫AI论文写作助手-免费AIGC论文查重_写毕业论文降重 | 挨踢网-大家的导航!| 上海质量认证办理中心 | 溶氧传感器-pH传感器|哈美顿(hamilton)| 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 深圳天际源广告-形象堆头,企业文化墙,喷绘,门头招牌设计制作专家 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 广东机电安装工程_中央空调工程_东莞装饰装修-广东粤标建设有限公司 | 合肥注册公司|合肥代办营业执照、2024注册公司流程 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 首页-浙江橙树网络技术有限公司| 经济师考试_2025中级经济师报名时间_报名入口_考试时间_华课网校经济师培训网站 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 河南15年专业网站建设制作设计,做网站就找郑州启凡网络公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | 公交驾校-北京公交驾校欢迎您! 工作心得_读书心得_学习心得_找心得体会范文就上学道文库 |