单击(右键单击)时使用传单地图库获取图像叠加层的像素坐标

2024-03-06

我正在尝试使用传单地图库获取单击(右键单击/上下文菜单)时图像叠加的像素坐标。本质上,当用户单击图像时,我需要找到用户单击图像的位置的 x、y 或宽度、高度。

目前这就是我所拥有的。

// Using leaflet.js to pan and zoom a big image.
// See also: http://kempe.net/blog/2014/06/14/leaflet-pan-zoom-image.html

// create the slippy map
var map = L.map('image-map', {
    minZoom: 1,
    maxZoom: 4,
    center: [0, 0],
    zoom: 1,
    crs: L.CRS.Simple,
});

// dimensions of the image
var w = 2000,
    h = 1500,
    url = 'http://kempe.net/images/newspaper-big.jpg';

// calculate the edges of the image, in coordinate space
var southWest = map.unproject([0, h], map.getMaxZoom() - 1);
var northEast = map.unproject([w, 0], map.getMaxZoom() - 1);
var bounds = new L.LatLngBounds(southWest, northEast);

// add the image overlay, 
// so that it covers the entire map
L.imageOverlay(url, bounds).addTo(map);

// tell leaflet that the map is exactly as big as the image
map.setMaxBounds(bounds);

function onMapClick(e) {

 //returns on right click events   
 console.log(e);


}

//Hadnel on right click functions TODO: MOVE THIS LATER
map.on('contextmenu', onMapClick);

目前 onMapClick(e) 在检查单击时返回的事件时,我没有看到任何靠近我单击的位置的 x、y 或宽度和高度的所有返回坐标的证据。

本质上我想看到的是我单击的图像位置的 x、y 或宽度、高度,因为该图像的尺寸为 20000x15000。

这是小提琴http://jsfiddle.net/rayshinn/yvfwzfw4/1/ http://jsfiddle.net/rayshinn/yvfwzfw4/1/

不知道为什么,但当你一直缩小时,它似乎有点问题。只需全程放大即可阻止 jsfiddle 上的错误。这个bug不是重点,因为它不会发生在我本地的环境中!似乎与小提琴有关。


传单为您提供x,y沿“图像地图”div 的坐标,该 div 随放大和缩小而调整大小。事件坐标不会缩放到您的图像大小。

为了得到x,y相对于实际图片大小,您需要将坐标乘以当前 div 尺寸与全尺寸图像的比率方面。

检查我的小提琴 http://jsfiddle.net/dalper01/yvfwzfw4/6/

我通过获取事件坐标并将它们乘以您的 x,y 来计算您的 x,yvar w and var h并将它们除以地图的高度和宽度:

function onMapClick(e) {

    var mapWidth=map._container.offsetWidth;
    var mapHeight=map._container.offsetHeight;
    console.log(e.containerPoint.x * w / mapWidth);
    console.log(e.containerPoint.y * h / mapHeight);
    console.log(e);


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

单击(右键单击)时使用传单地图库获取图像叠加层的像素坐标 的相关文章

  • 跨域XMLHttp请求

    这是我的情况 我有一台 Web 服务器机器 一台客户端机器和第三台运行一些侦听 XMLHttpRequest 的程序的机器 客户端从客户端计算机访问网络服务器 进行一些更改 然后单击 保存 此时 数据被发送回网络服务器和第三台机器 所有这些
  • pubnub 和 head.js

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

    我有一个带有输入元素的 HTML 文件 我希望向其中添加一个名为 valid fieldset011 的新属性 该属性用作 AngularJS 验证器的链接 输入元素具有属性 id fieldset011 如果我使用以下脚本 包含在脚本标签
  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • 如何导入和导出 javascript ES6 类

    我是 javascript 和 nodejs 的新手 我正在使用这个项目来发展我的技能并学习新技术 目前我的项目使用多个相互依赖的类 类文件位于不同的目录中 我当前正在尝试使用 export 和 require 语句来允许在其他文件中引用类
  • Chrome 扩展同步调用 - 仅在窗口关闭后创建窗口

    我有这个代码 function voteNewWindow mailNum chrome windows create url http www google com incognito true function window conso
  • 启用/禁用由用户输入确定的复选框

    我有一个简单的表单 用户可以在其中输入他的联系号码 如果联系号码以 07 开头 则该复选框已启用 其他我需要禁用它的复选框 我已经编写了一些代码 但我面临的问题是 当用户键入 01 时 它会被禁用 但如果他们继续在 01 之后添加任何其他数
  • 如何动态突出显示网页上的字符串?

    我想创建带有 url 的页面 例如 http xyzcorp schedules 2015Aug24 Aug28 Jim Hawkins http xyzcorp schedules 2015Aug24 Aug28 Billy Bones
  • 确定元素是在页面折叠上方还是下方

    我有一些页面有多个输入框 用户可以在其中输入文本 在单击 下一步 按钮之前 需要填写其中一些内容 我弹出验证错误供用户查看 但是如果问题不在页面上 我希望页面滚动到它 而不是他们必须搜索丢失 错误的字段 我有一个滚动到位 但我无法确定要滚动
  • 如何以编程方式退出或关闭 Javascript UWP 应用程序? (Windows 10)

    我制作了一个游戏 它需要自己的退出按钮 我无法使用CoreApplication Exit https msdn microsoft com en us library windows apps windows applicationmod
  • 无法实例化模块 [$injector:unpr] 未知提供程序:$routeProvider

    我从 AngularJS 升级时收到此错误1 0 7 to 1 2 0rc1 ngRoute 模块不再是核心的一部分angular js文件 如果您继续使用 routeProvider 那么您现在需要包括angular route js在你
  • 如何调用 google 的 getBasicProfile() 来仅单击按钮即可登录 google?

    我在我的网站上使用谷歌登录
  • 为什么 Web Worker 性能在 30 秒后急剧下降?

    我正在尝试提高在网络工作人员中执行时脚本的性能 它旨在解析浏览器中的大型文本文件而不会崩溃 一切都运行得很好 但我注意到使用网络工作者时大文件的性能存在严重差异 于是我做了一个简单的实验 我在同一输入上运行脚本两次 第一次运行在页面的主线程
  • 获取点击的的DOM路径

    HTML div class lol a class rightArrow href a div 伪代码 rightArrow click function rightArrowParents this dom dom is the pse
  • 计算文本选择的 xy 位置

    我正在尝试使用 DOM 元素创建自己的文本选择 是的 我的意思是当您在此元素中选择文本时 您会在文本后面看到蓝色背景 这个想法是停止默认行为 蓝色 并使用我自己的元素来完成工作 方法是找到选择的 xy 位置 然后放置绝对定位的元素 我希望能
  • Firebase 警告:使用 Firebase Cloud Function 搜索数据时使用未指定的索引

    我构建了一个 Firebase 云函数 用于查找 IsNotificationEnabled 值等于 true 的用户 我的部分职能 export const sendPushNotification functions https onR
  • RoR - Rails 中的大文件上传

    我有一个 Rails Web 应用程序 允许用户上传视频 视频存储在 NFS 安装的目录中 当前的设置适用于较小的文件 但我也需要支持大文件上传 最多 4GB 当我尝试上传 4GB 文件时 它最终会发生 但从用户体验的角度来看很糟糕 上传开
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘
  • Node npm 包抛出使用严格:全局发布和安装后未找到命令

    我正在尝试发布 npm 包 当我全局安装该包并尝试运行 cli 命令时 我收到此错误 nvm versions node v0 12 2 bin myPack line 1 use strict command not found nvm
  • 使用 JQuery 根据下拉列表选择的值显示/隐藏控件

    我正在尝试使用 JQuery 根据下拉菜单的选定索引显示 隐藏 div 标签 但它不起作用 任何帮助将不胜感激 Thanks

随机推荐

  • 链接的 msi/Bootstrapper/先决条件?

    我有一些组件 MSI 包需要安装在一起才能形成最终应用程序 问题是 组成包的组件可以更新 并且组件可以在http 文件服务器上重新启动 我应该采取什么方法 我正在编写的安装程序是 主 安装程序 它需要能够读取其客户端计算机上安装的每个组件的
  • 仅使用 pandas 来填充空白,而不使用末尾的 NaN

    我有一些大约 8 个月的房价数据 并跟踪房屋进入市场直至售出的价格 中间的数据有几个空白我想填补 但我想保留每个末尾的 NaN 不变 举个简单的例子 假设我们有 house1 在 第 4 天 上市时售价为 200000 在 第 9 天 售价
  • 在没有打印对话框的情况下从 Chrome 进行打印?也许使用 Greasemonkey 用户脚本?

    我们正在开发一个基于浏览器的仓库应用程序 需要定期打印标签和发票 我们希望能够打印到本地打印机 而无需单击通常的浏览器打印对话框 这可能吗 可能使用 Greymonkey 用户脚本 我们不想设置整个 CUPS 打印机网络并处理所有这些问题
  • 在 C 中,通过常量进行位移与通过具有相同值的变量进行位移之间有区别吗?

    我正在尝试对值进行位移0xFFFFFFFF32 位 它正确地得出 0 如果我写 x x lt lt 32 但它仍然是0xFFFFFFFF 当我写 x x lt lt y when y 32 我真的完全不明白这一点 不过 对于移动的函数 我需
  • 为什么我无法添加指针?

    我的代码与此非常相似 LINT rep Iterator difference type LINT rep Iterator operator const Iterator right const return this right IN
  • git diff 只是第一个文件(所有未暂存的更改)

    If I do git diff 我将获取所有未暂存文件的当前更改 有没有更简单的方法自动执行git diff仅在第一个列出的文件上 使用内置标志 我想出的最好的办法是 function git diff first unstaged fi
  • 在 Android 中创建平面图

    In my application i need to create a floor which contains some zones and cabins inside the zones I am getting the coordi
  • 为什么 tflite 模型的精度与 keras 模型的精度相差如此之大?

    我制作了一个模型来预测图像上的字符 以进行车牌识别 它在我的电脑上运行得很好 但我需要把这个工作放到 Android 应用程序中 所以我开发了一个小应用程序并将我的 keras 模型转换为 tflite 现在它总是预测同一个角色 我使用以下
  • 使用 C# 将数据表中的字符串项排序为 int

    我有一些数字代码存储在数据表中 当我尝试使用 DataView 对它进行排序时 它会按字符串对列进行排序 将数据排序为整数 数字的最简单方法是什么 DataView view dt DefaultView view Sort Code as
  • 测试 tkinter 应用程序

    我使用 python 3 和 tkinter 编写了一个小应用程序 测试每个小部件 即使它们并不多 也让人感到畏惧 所以我想编写一些自动化测试来简化过程 我读到了一些其他似乎与这个问题相关的问题 但没有一个符合我的需求 现在我正在以非常简单
  • PHP 删除数组中某个键值之前的部分

    我有一个按一定顺序排列的数组 我只想截取从第一个索引到给定键的索引的数组的一部分 IE 如果我有这个数组 array array 0 gt blue 1 gt red 2 gt green 3 gt red 4 gt purple 我想在看
  • 如何正确处理 Firefox 中的左键单击和右键单击

    我正在开发一个网络应用程序 在该应用程序中 无论我左键单击还是右键单击某个元素 我都希望对它执行不同的操作 所以我首先添加了一个函数来处理click使用 jQuery 事件 然后添加第二个函数来处理oncontextmenu我的元素的属性
  • 无法从 Parse 对象检索 UpdatedAt 或createdAt 值

    我是一位经验丰富的 Android 开发人员 尝试使用 Parse 服务和 sdk 运行原型 iOS 应用程序 https www parse com https www parse com 太棒了 我可以毫无困难地获取所有对象及其值 一切
  • 如何将字典值转换为浮点数[重复]

    这个问题在这里已经有答案了 如何将字典值转换为浮点数 dict1 CNN 0 000002 s dict1 values print s print type s 我得到的是 dict values 0 000002
  • 向 UITextView 添加左边距

    我正在尝试向 UITextView 添加左边距 我尝试设置属性 contentInset 如下所示 UITextView textView UITextView alloc initWithFrame CGRectMake 0 0 self
  • Django Admin - 覆盖自定义表单字段的小部件

    我有一个自定义 TagField 表单字段 class TagField forms CharField def init self args kwargs super TagField self init args kwargs self
  • 如何循环try catch语句?

    如何循环 try catch 语句 我正在制作一个程序 该程序使用扫描仪读取文件 并从键盘读取文件 所以我想要的是如果文件不存在 程序会说 此文件不存在 请重试 然后让用户输入不同的文件名 我尝试了几种不同的方法来尝试执行此操作 但是我所有
  • 我如何在 javascript 中使用 for 循环来添加 HTML

    我正在我的网站上制作一个小画廊 它包含很多图片 我如何使用 for 循环来添加li在我的网站上 这是我现在的 HTML 而不是所有这些 li 我想要一个for环形 HTML div div class grid container ul c
  • 如何将大量代码复制到不同的公司

    我在一家公司的服务器上有一组 ZBAPI 结构 我们在该公司开发并安装了自定义应用程序 我必须在不同公司的同一应用程序中使用许多相同的 BAPI 是否有任何快速方法可以将结构 功能模块 业务对象和 BAPI 代码本身从一个 SAP 系统移动
  • 单击(右键单击)时使用传单地图库获取图像叠加层的像素坐标

    我正在尝试使用传单地图库获取单击 右键单击 上下文菜单 时图像叠加的像素坐标 本质上 当用户单击图像时 我需要找到用户单击图像的位置的 x y 或宽度 高度 目前这就是我所拥有的 Using leaflet js to pan and zo