Google 地图 API v3 - 鼠标移动和单击事件组合

2024-03-20

如果我将一个单击事件连接到我的地图,然后我连接了一个鼠标移动事件,则单击事件将不再起作用。我想没有人知道这件事吧?顺便说一句,这是 3.4 版本中的。

举个简单的例子:

var map;
function initialize() {

    var myLatlng = new google.maps.LatLng(-34.397, 150.644);
    var myOptions = {
        zoom: 8,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    var secondClick = false;
    var firstClick = false;
    var firstClickLatLng;
    var secondClickLatLng;
    var lines = [];

    google.maps.event.addListener(map, 'mousemove', function (event) {
        redrawLine(event);
    });

    google.maps.event.addListener(map, 'click', function (event) {
        if (!firstClick && !secondClick) {
            firstClick = true;
            firstClickLatLng = event.latLng;
        }
        else if (firstClick && !secondClick) {
            secondClick = true;
            firstClick = false;
            // draw the polyline here
            secondClickLatLng = event.latLng;

            //google.maps.event.removeListener(listener);
        }
        else if (!firstClick && secondClick) {
            secondClick = false;
            // clear the polyline here
            alert("what");
            //google.maps.event.removeListener(listener);
        }
    });

    function redrawLine(event) {
        if (firstClickLatLng != null) {
            var lineCoords = [
                firstClickLatLng,
                event.latLng
            ];

            var line = new google.maps.Polyline({
                path: lineCoords,
                strokeColor: "#FF0000",
                strokeOpacity: 1.0,
                strokeWeight: 2
            });

            // You need to clear the previous line, otherwise
            // it draws loads and loads of lines.  I did this
            // in case it doesn't manage to clear the previous
            // one for some reason.
            for (var i = 0; i < lines.length; i++) {
                lines[i].setMap(null);
            }

            line.setMap(map);
            lines.push(line);
        }
    }
}

因此,每当您移动鼠标时,就会绘制一条线。问题是,如果我第二次单击,单击事件将不会触发。

Ideas?

EDIT

这个问题是相关的:http://www.mail-archive.com/[电子邮件受保护]/msg15878.html http://www.mail-archive.com/google-maps-js-api-v3@googlegroups.com/msg15878.html

虽然它并没有明确解决我的问题,但其他人已经测试并经历过这一点。


已排序,如该链接所示,您需要声明 clickable: false

http://code.google.com/apis/maps/documentation/javascript/reference.html#PolylineOptions http://code.google.com/apis/maps/documentation/javascript/reference.html#PolylineOptions

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

Google 地图 API v3 - 鼠标移动和单击事件组合 的相关文章

  • 带有 Google 卫星图层的 Leaflet Map API [重复]

    这个问题在这里已经有答案了 我对此非常感兴趣传单地图API http leaflet cloudmade com 但是 我需要能够使用 Google 卫星层 我无法找到有关如何将 Google 卫星图层添加到 Leaflet 的示例 我知道
  • 谷歌地图破坏 KML

    我已经创建了一些世界地区的 KML 文件 以便使用 Google 地图 API 进行显示 这一直工作正常 但最近有一个区域开始显示数据好像已损坏 你可以在这里明白我的意思 https drive google com file d 0B9u
  • 使用 Google Maps API 配置热图叠加层

    我正在尝试使用 Google Maps API 生成位置热图 它可以工作 但结果不是很有用 因为热图渲染的部分很小很难看到 文档中没有任何内容建议扩展热图以呈现更大的斑点的方法 是否有一种未记录的方法可以做到这一点 或者这只是 API 的限
  • Google 地方信息自动完成功能不适用于动态生成的输入元素

    自动完成功能在多个静态输入字段上完美运行 但是 当我通过按钮添加输入字段时 自动完成功能不适用于这些输入字段 也许问题出在闭包上 但我不确定 因为我的 JavaScript 很弱 谁能帮我 这是代码
  • Bootstrap 3.0 和 Google 地图 javascript API V3 样式

    我正在尝试将谷歌地图 javascript API v3 实现到利用 Bootstrap 3 0 轮播 基本主题的 Bootstrap 3 0 网站中 问题是 div div 如果我尝试将其包含在任何其他 div 或 bootstrap 3
  • 如何最好地计算两个城市(加拿大)之间的距离?

    我有一个客户希望我计算城市之间的英里距离 我正在用 PHP javascript 做项目 我一直在阅读一些长 纬度数据库 但仍然无法找到从哪里开始以及使用什么 是否有任何网络服务可以通过传递两个城市名称来查询 并且它可以返回以英里或公里为单
  • 使用地理编码将多个 addListener 事件添加到 Google 地图表单

    我创建了一个 Google 地图表单 允许用户在文本字段中输入地址并对条目进行地理编码 然后这会在地图上放置一个标记 这工作正常 但我想添加一个额外的 addListener 这样当用户单击地图时 它将在他们单击的位置添加另一个图钉 由于某
  • 添加填充到谷歌地图bounds.contains()

    我有一个侧边栏 显示谷歌地图当前地图视图中的标记名称 侧边栏内容随着地图的移动而变化 google maps event addListener map bounds changed function document getElement
  • 寻找最准确的室内导航 API [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找允许实现带有室内导航 在一栋特定建筑物内导航 的应用程序的 API 我发现了一些 api 之类的谷歌地图室内导航 http ma
  • 谷歌地图上 100k 或更多标记,无需聚类

    我有一些通过安装在汽车上的 GPS 设备收集的数据 所以我拥有的数据基本上都位于街道 道路上 周围 每个坐标都有一些值 数据的格式是这样的 lat long value 12 979155 77 644925 6 12 97916833 7
  • 如何在谷歌同意屏幕中添加徽标?

    我已经在谷歌开发者控制台中创建了项目 现在我想在同意屏幕中设置我的徽标 我的计算机上有徽标 同意屏幕上的徽标字段需要 URL 有什么方法可以在我的计算机上的同意屏幕上设置徽标吗 我还尝试在谷歌驱动器上上传图像并将其共享链接放在徽标字段中 您
  • 隐藏折线的正确方法?

    我有一个在地图上显示折线的函数 这部分正在工作 现在我想实现一个隐藏折线的函数 但我找不到我的错误 提前致谢 function cargaMapaCYL mapa varControl var limite null limite new
  • Fusion Tables 层 URL 请求限制(2048 个字符)

    我正在使用 Google 地图突出显示一些国家 并使用 Fusion Tables 来获取几何图形 您可以在此处查看一个示例 http jsfiddle net 4mtyu 689 http jsfiddle net 4mtyu 689 v
  • 通过google地图获取我当前位置10公里半径范围内所有位置的纬度和经度(使用PHP)

    我对谷歌地图很陌生 我有一个表格 其中列出了所有位置 超级商店的位置 及其纬度和经度 现在我想知道这些超级商店在我当前位置 10 公里半径范围内的所有可能位置 可能是纬度和经度 我不知道如何使用 Google 地图 在 php 代码中 来做
  • 根据当前窗口中的半径限制 Google 地图上来自 Instagram API 的帖子

    所以我有下面的代码 它是一个 Node js 应用程序的前端 它使用特定的主题标签提取 Instagram 帖子 现在它在世界各地发布 有没有办法限制帖子的半径 如果可能的话 限制用户当前可见的窗口 我正在使用 Instagram 实时标签
  • 有没有办法覆盖 Google 路线服务缩放值?

    我使用下面的代码来获取两点之间的路线 directionsService route request function response status if status google maps DirectionsStatus OK di
  • Google 地图:挪威邮政编码未返回任何结果

    简而言之 我们有一些挪威邮政编码 并正在使用 API 来获取它们的地址以及经纬度 没什么高雅的 但在大约 10 的邮政编码上 API 不返回任何结果 下面是一个示例 成功为postal code 1151 http maps googlea
  • Google 放置 API:从 CID 到参考?

    我的目标 用已知的商业地点填充数据库 以便生成包含这些地点的地图 我坚持使用 已知地点 因为我的用户只会搜索数据库中的地点 我不想在地图上重新创建商业地点作为标记 因此纬度和经度不足以识别地点 因为这些地点已经在 Google 地图上提供了
  • Google 地图上的自定义路线/路径/道路

    我需要能够使用 V2 或 V3 最好是 3 创建在某种意义上忽略建筑物的路径 我试图创建一个 kml 文件来自己绘制所有路径 然后找到某种方法根据需要打开 关闭它们 例如 用户想要从 A 点前往 B 点 这些点之间有许多建筑物 用户可以实际
  • 将事件添加到 Google Maps API InfoWindow 内的元素

    我想在 Google Maps API v3 InfoWindow 内放置一个带有输入字段和提交按钮的表单 提交后 我想调用一个函数 该函数使用输入字段中输入的地址启动方向服务 这是我的代码 我目前只测试方向事件是否被触发 我已经编写了完整

随机推荐

  • Apache CXF 生成数字而不是字符串

    如果一个字符串看起来像一个数字 例如 111 CXF 不将其作为字符串返回 而是作为数字返回
  • Apache Spark 中的 CPU 使用率是否受到限制?

    我最近发现 在 UDF 中添加并行计算 例如使用并行集合 可以显着提高性能 即使在运行 Spark 时也是如此local 1 模式或使用具有 1 个执行器和 1 个核心的 Yarn E g in local 1 模式下 Spark Jobs
  • 弧形边框 CSS 实现

    最近我在Dribbble上看到一个设计理念 对我很有启发 特别是顶部和底部带有弯曲 U 形的侧边栏给了我关于制作选项卡堆栈或流程图的很好的想法 我可以用 alpha 图像来制作它 但使用纯 CSS 会更好 而且我不介意 CSS3 不过我对
  • 快速从模数和指数创建 SecKey

    我尝试制作自己的 SecKey exponent let exponent 10001 modulus let modulus D6250B831F82EC984513922E797283E4D3879E1F0AD52364EBDA5A56
  • SQL Server:什么是 ODBC 规范函数?

    什么是 ODBC 规范函数 例如 fn NOW 基本上 这些规范函数是微软承诺将适用于其提供商支持的所有类型的数据源的一组函数 这意味着您不必根据实际使用的数据提供程序来区分您的代码 这些函数不是基本 SQL 的一部分 因此您应该尝试找到可
  • 用于输入金额的 UITextField

    我正在开发一个销售点应用程序 所以我想 假设用户输入100000但我希望它自动显示100 000 and 1000000 become 1 000 000 第二个问题是 我不希望用户能够输入 他们自己 第三个问题是 既然这是钱 我们不能让用
  • Docker maven Fabric8 插件(在 Windows 上):构建映像会出现不兼容问题?

    我想通过 Maven 从 Springboot 项目构建 Docker 镜像 我运行 mvn clean package docker build 问题 ERROR Failed to execute goal io fabric8 doc
  • Google Scholar 是否有可供我们在研究应用程序中使用的 API?

    我正在开展一个研究出版物和合作项目 其中有文献检索功能 Google Scholar 似乎可以工作 因为它是一个开源工具 但是当我研究 Google Scholar 时 我找不到任何有关它具有 API 的信息 有谷歌学术的 API 吗 没有
  • 使用 ASP.NET Core 进行 Ws-Federation 身份验证

    我正在将 ASP NET 应用程序迁移到 ASP NET Core 上 但遇到了 Ws Federation 身份验证问题 没有 Ws Federation https www nuget org packages q Microsoft
  • 使用 Google Apps 脚本:如何转换/导出云端硬盘文件?

    我想使用 Google Apps 脚本将本机 Google 电子表格 文档 绘图 演示文稿文件导出到同一文件夹中的另一种格式 我已启用高级驾驶服务 https developers google com apps script advanc
  • iOS XMPP群聊实现

    我正在尝试使用 robbiehanson XMPPframework 创建聊天室 由于我没有得到任何示例代码或文档 我自己尝试发起一个聊天室 如下 XMPPRoomMemoryStorage rosterstorage XMPPRoomMe
  • javascript美元符号变量不起作用

    我的 WordPress 中有以下代码 function var header div header window bind scroll resize function if window scrollTop gt 30 div head
  • JavaScript中有“createObject”吗?

    VBScript中有一个名为CreateObject的函数 可以通过网页在客户端运行 我以前像这样使用过它 Set icaObj CreateObject Citrix ICAClient CitrixVersion icaObj Clie
  • 如何在 Mac 上使用 Pipenv?

    当通过 pip 安装它时 pip install pipenv 在 zsh shell 上找不到命令pipenv 如果通过安装brew brew install pipenv 然后运行pipenv shell 出现错误 Loading en
  • JRuby Heroku 宝石

    是否可以将 Heroku 客户端与 JRuby 一起使用 我已经成功安装了heroku gem 和所有依赖项 但我无法登录 PS D Projects myproject gt heroku login Enter your Heroku
  • 在 Spark 中将简单的一行字符串转换为 RDD

    我有一条简单的线 line Hello world 我想将其转换为只有一个元素的 RDD 我努力了 sc parallelize line 但它得到 sc parallelize line collect H e l l o w o r l
  • 如何在 macOS 上区分 USB 硬盘和 SSD 与 USB 闪存盘/笔式驱动器

    代码如何能够一方面区分外部 USB 硬盘驱动器和固态驱动器 另一方面区分 USB 记忆棒 我不熟悉 macOS API 或系统调用 中断 消息传递和其他内容 但我猜它会在 I O Kit 或磁盘仲裁中 在终端命令行上您可以使用system
  • 检索刚刚删除的文档

    我删除了一个文档 但我仍然可以在其中看到它 changes 这样我就可以看到最后一个有效的 rev 已删除 因此获取带有 id 和最后修订版本的文档只会返回 id 25efa4ec8489d8b89b34c5cad6000059 rev 3
  • SceneBuilder 2:控制器类是否必须与视图 FXML 文件位于同一文件夹中?

    我喜欢 JavaFX 和 SceneBuilder 但是当它们不在同一个文件夹中时 我就是不知道如何让 SceneBuilder 将我的 FXML 视图与其 Java 控制器链接起来 我只想有这个文件夹结构 package model vi
  • Google 地图 API v3 - 鼠标移动和单击事件组合

    如果我将一个单击事件连接到我的地图 然后我连接了一个鼠标移动事件 则单击事件将不再起作用 我想没有人知道这件事吧 顺便说一句 这是 3 4 版本中的 举个简单的例子 var map function initialize var myLat