Leaflet.js setMaxBounds 忽略南界

2024-05-03

Using 传单.js http://leafletjs.com/reference.html对于开源地图项目,但我需要设置用户无法超越的特定界限。地图对象的 maxBounds 属性在北、东、西方向上按预期工作,但它让我永远向南滚动。

在小提琴中,绿色背景揭示了边界的位置should结束,我添加了一个用于检查纬度的点击警报。

http://jsfiddle.net/7m7n7/ http://jsfiddle.net/7m7n7/

var map = L.map('map', {
maxZoom: 4,
minZoom: 1,
maxBounds: [
    //south west
    [-85.07815906717186, -179.97802734374997],
    //north east
    [-60.413852350464914, 39.8583984375]
]
}).setView([-72.5, -110], 1);

L.tileLayer(
    'http://{s}.tile.cloudmade.com/{API}/998/256/{z}/{x}/{y}.png', 
    { maxZoom: 18 }).addTo(map);

当你使用setBounds然后传单叫L.Map.panInsideBounds https://github.com/Leaflet/Leaflet/blob/v0.5.1/src/map/Map.js#L114根据你的界限,你想在哪里获得投影:viewSw = this.project(viewBounds.getSouthWest()),其中使用下一个代码 https://github.com/Leaflet/Leaflet/blob/v0.5.1/src/geo/projection/Projection.SphericalMercator.js#L8对于默认投影:

project: function (latlng) { // (LatLng) -> Point
    var d = L.LatLng.DEG_TO_RAD,
    max = this.MAX_LATITUDE,
    lat = Math.max(Math.min(max, latlng.lat), -max),
    x = latlng.lng * d,
    y = lat * d;

    y = Math.log(Math.tan((Math.PI / 4) + (y / 2)));

    return new L.Point(x, y);
}

所以有Math.max(Math.min(max, latlng.lat), -max)不能大于最大值或最小值并且viewSw变得等于最大值并且实际边界不固定。

这个问题已修复 https://github.com/Leaflet/Leaflet/commit/db6d689ad898caa18cb6db7c6df1632eb6b7114f。您可以使用来自master的版本 https://github.com/Leaflet/Leaflet/tree/master/dist或者等待下一次意识到的时候。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Leaflet.js setMaxBounds 忽略南界 的相关文章

  • pubnub 和 head.js

    有没有人成功整合过pubnub http www pubnub com 和 head js 正确吗 Pubnub http www pubnub com 希望我将他们的脚本放在页面底部并带有 div 就在它前面的标签 这可以确保在最后调用
  • ajaxStop() 不触发

    这是不起作用的代码 document ajaxStop function this unbind ajaxStop prevent running again when other calls finish Display everythi
  • 如何防止 gulp-notify 破坏 Windows 中的 gulp-watch?

    我正在使用吞咽通知 https www npmjs org package gulp notify插入 这是我如何在 gulpfile js 中实现它的示例 您可以看到我也在使用 gutil 和 livereload 我不知道它们是否发挥任
  • 限制可选 DOM 复选框

    我试图限制用户可以选择的复选框数量 这些复选框是为数组中的每个项目生成的 DOM 输入对象 我目前对此没有运气 因此非常感谢任何帮助 谢谢 在这里小提琴 http jsfiddle net vVxM2 222 http jsfiddle n
  • 以一定时间间隔连续重复运行 JavaScript 函数

    这是我的第一个问题 希望您尽快回答 我想要代码连续重复一个函数 我尝试了一些代码 但没有成功 我尝试了这段代码 我想在一段时间后重复这个功能 我努力了setInterval and setTimeout 但是 我还没有收到结果 这将重复该任
  • 搜索深度嵌套数组以更新对象

    我有一个深层嵌套的数据结构 我有兴趣匹配数组 和数组数组 中的某个值 然后将一些数据推送到随附的数组中 例如以下是我的数组colors并伴随着的是更多颜色数组可能存在也可能不存在 var myData color green moreCol
  • 确定元素是在页面折叠上方还是下方

    我有一些页面有多个输入框 用户可以在其中输入文本 在单击 下一步 按钮之前 需要填写其中一些内容 我弹出验证错误供用户查看 但是如果问题不在页面上 我希望页面滚动到它 而不是他们必须搜索丢失 错误的字段 我有一个滚动到位 但我无法确定要滚动
  • 有没有办法将变量从 javascript 导入到 sass 或反之亦然?

    我正在制作一个依赖于块概念的 CSS 网格系统 所以我有一个基本文件 例如 max columns 4 block width 220px block height 150px block margin 10px 它被 mixin 使用 m
  • 循环遍历元素并逐步为每个元素应用 CSS 规则

    我有一个网格布局 每个网格布局中都有不同数量的元素 我想动态添加内联grid column通过循环遍历 div 中存在的每个元素的 CSS 规则 ul 与一类 list 所以 HTML 代码的输出需要是 ul class list ul u
  • 了解 JavaScript - 资源

    使用 StackOverflow 的微型 Digit Blog 功能进行描述here https stackoverflow com about 我想发布以下我刚刚看到的 我觉得很有趣的谷歌技术谈话视频 我一直在理解 javascript
  • JavaScript 测验在提出所有问题之前结束

    我现在正在学习 JavaScript 并且正在创建一个测验 我的测验运行正常 控制台中没有任何错误 但它会跳过问题 有时会在回答所有问题之前结束测验 即使给出正确答案 也会减少时间 我不太确定为什么它会这样做 因为在我看来它的编码是正确的
  • 在 React Navigation 中将 props 传递给自定义抽屉导航器

    在反应导航抽屉菜单中 我想显示用户名 John Doe 它处于我的主要组件的状态 Router 我怎样才能将自定义抽屉内容组件传递给它 额外信息 我从 AsyncStorage 中获取此名称 组件已挂载 这是我的代码 export defa
  • 获取点击的的DOM路径

    HTML div class lol a class rightArrow href a div 伪代码 rightArrow click function rightArrowParents this dom dom is the pse
  • 如何处理requireJs超时错误?

    我正在使用 require js 作为加载框架编写一个移动混合应用程序 我遇到加载错误的问题 我想做的是在设备离线且无法下载在屏幕上显示地图所需的 google 地图 API 脚本时设置后备解决方案 我得到的只是 Uncaught Erro
  • JavaScript 数组扩展语法的时间复杂度是多少?

    我想知道在 JavaScript 中使用数组扩展的时间复杂度是多少 是线性 O n 还是常数 O 1 下面的语法示例 let lar Math max nums 传播称为 Symbol iterator 有关对象的属性 对于数组 这将迭代数
  • RoR - Rails 中的大文件上传

    我有一个 Rails Web 应用程序 允许用户上传视频 视频存储在 NFS 安装的目录中 当前的设置适用于较小的文件 但我也需要支持大文件上传 最多 4GB 当我尝试上传 4GB 文件时 它最终会发生 但从用户体验的角度来看很糟糕 上传开
  • mozilla pdf.js 没有全视图

    我喜欢这个 pdf 查看器https github com mozilla pdf js https github com mozilla pdf js Demo http mozilla github com pdf js web vie
  • JavaScript:测试与执行

    我想知道检查字符串 例如邮件 密码等 的最佳方法是什么 i exec a vs i test a exec返回值 test true test 1 way var mail req body mail if check mail exec
  • Node.js - 重载函数

    有没有一种方法可以重载node js中的函数 类似于 noSuchMethod https developer mozilla org en JavaScript Reference Global Objects Object noSuch
  • 强制输入数字小数位

    我想强制

随机推荐

  • WPF - 非常基本的 ListBox.ItemTemplate 问题

    好吧 这是一个看似简单得令人尴尬的问题 但却让我发疯 我正在学习 DataTemplate 并尝试将一个非常非常简单的 ItemTemplate 应用于 ListBox 然而 当我运行我的应用程序时 模板被完全忽略 我只得到标准外观的列表框
  • 获取SSAS立方体上次处理时间

    在 Excel 中 我与数据多维数据集建立 Analysis Services 连接 我希望能够通过向用户显示最后一次多维数据集处理时间发生的时间来向用户展示数据的最新情况 在 SQL Server Management Studio SS
  • 使用 System.loadLibrary() 时出现不满意的链接错误?

    由于某种原因 我在我的 java 应用程序中遇到了令人讨厌的不满意链接错误 这是所涉犯罪者 System loadLibrary psjw 尽管库 psjw dll 显然与此类位于同一源包中 请帮忙 确保 psjw dll 位于您的 PAT
  • 事件溯源:在重放事件并监听新传入事件时避免项目重复事件

    在需要构建新视图的场景中 我们可以重播来自活动商店 结果 我们将投影出新的视图 因此 我们的想法是部署一个新的投影 该投影可以投影所有旧事件 通过重播 并监听新传入的事件并投影它们 我认为在读取旧事件和收听新传入事件时可能会发生比赛条件 因
  • 如何在android中的google(设备)本机应用程序上添加自定义按钮?

    我想在谷歌 设备 的本机应用程序上添加一个按钮 例如 谷歌地图 使用此按钮我想打开我的应用程序 我已经做了一些相关工作 Using 无障碍服务 https developer android com reference android ac
  • 如何以 HDF5 格式提供 caffe 多标签数据?

    我想将 caffe 与矢量标签一起使用 而不是整数 我检查了一些答案 似乎 HDF5 是更好的方法 但后来我陷入了这样的错误 precision layer cpp 34 检查失败 outer num inner num bottom 1
  • 如何获取 Windows Phone 的设备令牌 ID 以进行推送通知?

    我正在使用 Visual Studio 2012 在手机间隙 移动 jquery 中创建 Windows Phone 8 应用程序 我想从设备获取设备令牌 id 以用于推送通知 谁能指导我如何获取 Windows Phone 8 的设备令牌
  • LINQ to SQL 选择“按多列区分”并返回整个实体

    我正在使用第三方数据库 需要为我正在研究的特定市场选择一组不同的数据 每个市场的数据都是相同的 因此将其全部引入是多余的 并且我不想硬编码围绕它的任何逻辑 因为我们正在与供应商合作解决问题 但我们需要一个修复程序与供应商合作修复以及数据库当
  • 如何将 C++ flex 与 C++ Bison 连接起来?

    我正在尝试将 C flex 与 C bison 连接起来 但我被难住了 Bison 3 8 1 手册有一个带有 C Flex 的 C Bison 示例 Flex 2 6 4 没有示例 我试图解决的问题是如何向 C 或 C Bison 提供指
  • MySQL如何获取可能重叠日期的开始/结束日期之和

    我有一个开始 结束日期表 我想按 id 对其进行分组并对每个 id 的总时间进行求和 例如 fk id start end 3 2014 03 21 10 02 2014 05 01 08 05 3 2014 06 05 05 00 201
  • 如何在Keystone.js List Map中指定多个字段?

    想知道如何在 Keystone js List Map 中指定多个字段 例如 基于 Keystone 数据模型文档 http keystonejs com docs database http keystonejs com docs dat
  • 对 Mongo 子文档数组求和

    db test3 find id 1 results result cost priceAmt 100 我尝试了以下方法但没有成功 db test3 aggregate group id total sum results result c
  • 流范围导航到起始页不起作用

    这与其说是一个问题 不如说是一个注释 对于 Glassfish4 在 JEE7 应用程序中 我尝试使用编程流定义 用 Produces FlowDefinition 注释的 java 类 来使用流范围 我使用 h commandButton
  • 使用 sql server 数据库部署 C# 应用程序?

    谁能告诉我使用 SQL Server 数据库部署 C 应用程序的准确方法 我想在客户端的计算机上运行我的应用程序 它正在我的计算机上运行 但在客户端的计算机上显示错误 我已经在客户端计算机上安装了 SQL Server 2012 我对部署知
  • 将 Mockito 模拟注入 Spring bean

    我想将 Mockito 模拟对象注入到 Spring 3 bean 中 以便使用 JUnit 进行单元测试 我的 bean 依赖项当前是通过使用注入的 Autowired私有成员字段上的注释 我考虑过使用ReflectionTestUtil
  • (Django) (外键问题) model.person_id 不能为 NULL

    我知道这在 Django 圈子里似乎是一个被过度询问的问题 但我不敢说我 还没有找到解决方案 我的模型 from djago import User class InfoPersonal models Model person models
  • 使用创建的 201 进行重定向

    有没有办法通过 201 答案重定向 RFC规定新创建的资源必须在Location标题 我确实指定了它 我假设浏览器会重定向 但事实并非如此 即使页面没有内容 我希望用户在 POST 操作之后重定向到新资源 因此我很想使用303 See Ot
  • 如何修复 lldb 在运行调用后立即停止的问题?

    我在 Mojave 上使用 lldb 和 Xcode 10 2 1 一旦命令 运行 到 lldb 就会发生这种情况 lldb target create
  • 如果可观察对象之一停止发出事件,为什么 Observable.race 无法工作?

    如果互联网连接丢失 我想在 webapp 中实现 websocket 重新连接 为了检测互联网是否丢失 我使用乒乓方法 这意味着我从客户端发送 ping 消息 服务器返回给我 pong 消息 当 webapp 加载时 我发送 init pi
  • Leaflet.js setMaxBounds 忽略南界

    Using 传单 js http leafletjs com reference html对于开源地图项目 但我需要设置用户无法超越的特定界限 地图对象的 maxBounds 属性在北 东 西方向上按预期工作 但它让我永远向南滚动 在小提琴