扩展 Google 地图 + D3 示例以添加路径或线路

2023-12-31

我正在尝试修改这个Google 地图 + D3 示例 http://bl.ocks.org/1125458包括点之间的线。我采取的方法是为每行添加新的 svg 元素。

我成功创建了一组新的 svg 元素:

var markerLink = layer.selectAll(".links")
      .data(links)
      .each(pathTransform) // update existing markers
    .enter().append("line")
      .each(pathTransform)
      .attr("class", "links");

其中 links 是数组的数组。每个内部数组有 4 个值,对应于每条线的开头和结尾的纬度和经度:d3 线的 x1、y1、x2 和 y2。

路径变换函数:

function pathTransform(d) {
    var t, b, l, r, w, h;
    var d1 = new google.maps.LatLng(d[1], d[0]);
    var d2 = new google.maps.LatLng(d[3], d[2]);
    d1 = projection.fromLatLngToDivPixel(d1);
    d2 = projection.fromLatLngToDivPixel(d2);
    if ( d1.y < d2.y ) {
      t = d1.y - 25;
      b = d2.y + 25;
    } else {
      t = d2.y - 25;
      b = d1.y + 25;
    }
    if ( d1.x < d2.x ) {
      l = d1.x - 25;
      r = d2.x + 25;
    } else {
      l = d2.x - 25;
      r = d1.x + 25; 
    }

    return d3.select(this)
        .style("left", l + "px")
        .style("top", t + "px")
        .style("width", (r - l) + "px")
        .style("height", (b - t) + "px");
  }

获取纬度和经度值并返回适当大小和位置的 svg 元素。

按照标记 svg 元素的示例,我尝试将一行附加到markerLink 元素。这就是我遇到麻烦的地方。我不知道如何在每个 svg 中定位线条。

这是一个好方法还是有其他方法可以将圆圈、路径、线条和标签添加到谷歌地图叠加层?


None

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

扩展 Google 地图 + D3 示例以添加路径或线路 的相关文章

  • Jquery 悬停卡

    我在用着http designwithpc com Plugins Hovercard http designwithpc com Plugins Hovercard 但我不知道如何在悬停卡上声明 var 每个工作描述都有自己的 ID 当悬
  • JavaScript 添加布尔值

    console log true true 2 console log typeof true true number console log isNaN true true false 为什么两个布尔类型相加会产生一个数字 我有点理解 如
  • 显示具有多个父代的 D3 树

    我目前有this http bl ocks org mbostock 4339083图已实现 我希望在描述具有多个父节点的子节点时保持结构和可折叠性 有没有办法做到这一点 我研究了力图 但我也想保留一组层次结构 这意味着 1 级的父级可以有
  • 浏览器视口大小(以设备像素为单位)

    Goal 我希望 Flash 能够获得有关浏览器视口宽度和高度 以设备像素为单位 的准确信息初始化 调整大小或浏览器缩放事件时 规格 我需要将 flash 嵌入到在 chrome safari firefox 等中运行的 html 页面中
  • 为什么 window 与 Internet Explorer 中的 window.self 不同?

    关于我如何遇到这个问题有一个复杂的背景故事 但为什么self属性不完全等于窗口本身 在 Safari 和 Firefox 及其朋友中 结果如我所料 gt window window self true gt window window se
  • 如何使用 Playwright 使用选择器查找框架 (iframe)

    我有一个小问题 无法找到使用 Microsoft Playwright 框架的答案 根据您可以使用以下代码获取 iframe const frame page frame frame login 但是如何使用选择器来查找 iframe 并与
  • Number.IsNaN() 比 isNaN() 更糟糕吗

    Soooooo isNaNJavaScript 显然被破坏了 比如 isNaN isNaN isNaN true isNaN false isNaN 0 返回 false 当它们看起来都是 不是数字 在 ECMAScript 6 中 草案包
  • 通过 JavaScript 获取表单名称

    我有一个简单的问题 但我在网上找不到好的解决方案 我有这个 HTML 代码
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • ReactTransitionGroup 不适用于 React-redux 连接组件

    我正在开发一个更大的项目 但我创建了这个简短的示例来说明问题 如果我使用Box组件 它的工作原理 它在控制台中输出componentWillEnter and componentWillLeave当我们点击按钮时 如果我使用BoxConta
  • React autoFocus 将光标设置为输入值的开头

    我有一个受控输入 最初显示一个值 我已将该输入设置为自动聚焦 但当我希望它出现在末尾时 光标出现在输入的开头 我知道这可能是因为自动对焦是在值之前添加的 但我不能 100 确定 在输入字段末尾完成光标初始化的最佳方法是什么 var Test
  • 计算三次贝塞尔曲线的弧长、曲线长度。为什么不工作?

    我正在用这个算法计算弧长 三次贝塞尔曲线的长度 function getArcLength path var STEPS 1000 gt precision var t 1 STEPS var aX 0 var aY 0 var bX 0
  • IE 中的 XPath 查询使用从零开始的索引,但 W3C 规范是从一开始的。我应该如何处理差异?

    问题 我正在转换目前仅适用于 Internet Explorer 的相对较大的 Javascript 代码 以便使其也适用于其他浏览器 由于代码广泛使用 XPath 我们做了一些兼容性功能以使事情变得更容易 function selectN
  • 将 Firebase 云消息传递与 Windows 应用程序结合使用

    我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging 但是我还有此应用程序的 Windows Mac OS 版本 我想保留相同的逻辑 我知道 Firebase Cloud Messaging 可
  • 如何在另一个自定义 Hook 中使用返回值的自定义 Hook?

    我正在使用 React native 其中有一个名为的自定义 HookuseUser使用以下方法从 AWS Amplify 获取用户信息Auth getUserInfro方法 然后获取返回对象的一部分并用它设置一个状态变量 我还有另一个名为
  • 聆听 Angular 2 中的元素可见性

    我正在为我的网络应用程序使用 Bootstrap 和 Angular 2 v4 我想监听指令中的元素以了解可见性变化 我的元素有一个可以隐藏其子元素的父元素hidden sm up我需要在每次隐藏或显示时触发一个函数 div hidden
  • 如何使用 JavaScript 或 jQuery 克隆 HTML 元素的样式对象?

    我正在尝试克隆元素的样式对象 这应该允许我在更改后重置所述元素的样式 例如 el style left 50px curr style left 50px Modify the elements style The cloned style
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 如何通过索引访问 JSON 对象中的字段

    我知道这不是最好的方法 但我别无选择 我必须通过索引访问 JSONObject 中的项目 访问对象的标准方法是只写this objectName or this objectName 我还找到了一种获取 json 对象内所有字段的方法 fo
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • C# 超时后自动释放锁

    有谁知道实现锁定的最佳方法是什么 以便在X秒后它会自动释放 假设您正在寻找在 X 秒内触发的事件 那么我认为当前没有任何核心 Mutex 对象提供您正在寻找的功能类型 您可以通过使用 System Timer 在 X 秒内触发并释放锁定的互
  • Flutter:将文件(图像)裁剪为圆形

    我正在尝试在颤动中裁剪文件 图像文件 这就是我所拥有的 这就是我想要在裁剪后得到的 带有圆形裁剪的 png 重要的是该文件是 png 因此它没有白色边框 有支持这个的包吗 您可以使用盒子装饰 https api flutter dev fl
  • 将非常大的数字从二进制转换为十进制并打印

    我知道如何将二进制转换为十进制 我至少知道两种方法 表和幂 我想将二进制转换为十进制并打印该十进制 而且 我对这个 小数 不感兴趣 我只想打印它 但是 正如我上面所写 我只知道两种将二进制转换为十进制的方法 并且它们都需要加法 因此 我正在
  • 将预测映射回 ID - Python Scikit Learn DecisionTreeClassifier

    我有一个具有唯一标识符和其他功能的数据集 看起来像这样 ID LenA TypeA LenB TypeB Diff Score Response 123 456 51 M 101 L 50 0 2 0 234 567 46 S 49 S 3
  • 如何防止 LaTeX 在段落之间填充空格,以便下一节从下一页的顶部开始?

    我有一份两栏的论文 空间限制非常严格 我刚刚查看了手稿的最后一个版本 发现上半部分包含一个图形 如预期的那样 但在下半部分 段落之间有很多垂直空间 足以再挤 10 行 并且 LaTeX可能添加了它 以便在下一页的开头 一个新的编号部分将从页
  • 默认的 mb_internal_encoding() 值从何而来?

    如果我要编写一个新的 php 文件 并包含echo current mb internal encoding mb internal encoding 输出值从哪里来 它是如何 决定 如何管理的 背景 我编写了一个网络应用程序 我以为我已经
  • 将 JavaScript 模块或库导入 TypeScript

    多年来我一直在为同样的问题而苦苦挣扎 我似乎无法弄清楚如何可靠地使用 TypeScript 中的 JavaScript 库 我似乎是偶然让它工作的 然后继续前进 多年来都没有重新访问这些代码 直到外部变化导致破坏 就像今天我更新 VS 20
  • webRTC 数据通道消息的最大大小是多少?

    我正在尝试 webRTC 似乎每条消息中可以发送的字节数有任意限制 This guy https github com rohansingh rtc p2p我使用的示例选择了 100 加上一些 字节的限制 在我的测试中 它似乎接近 200
  • 为什么 Python 的 eval() 拒绝这个多行字符串,我该如何修复它?

    我正在尝试评估以下制表符缩进字符串 for index in range 10 os system echo str index 我得到 出现错误 语法无效 第 1 行 它在抱怨什么 我是否需要缩进以匹配 eval 语句 或者将其写入字符串
  • WPF 沿路径绘制箭头

    只是想知道我如何沿着路径绘制箭头 路径将改变方向并经过几个不同的点 箭头旨在向用户显示他们需要沿着路径行进的方向 我尝试过使用画笔 但它不起作用 因为我需要箭头来沿着路径调整它们的方向 See 路径动画概述 http msdn micros
  • 矢量push_back移动实现

    在我的教科书中 向量push back移动实现的实现是 void push back Object x if theSize theCapacity reserve 2 theCapacity 1 objects theSize std m
  • 何时处置带有子任务的 System.Threading.Task?

    我有一个启动多个子任务的任务 例如 任务 A 创建 B C D E F 我还创建了一个System Threading Timer每 10 秒轮询一次数据库以检查计划项目是否已按请求取消 如果是 则设置CancellationTokenSo
  • Java 8 和 Spring 4:在界面中使用自动装配

    Java 8 添加了一个新功能 通过该功能我们可以在接口中提供方法实现 Spring 4中有没有什么方法可以让我们在接口中注入可以在方法体内使用的bean 下面是示例代码 public interface TestWiring Autowi
  • 为什么 print("text" + str(var1) + "more text" + str(var2)) 被描述为“未批准”?

    为什么下面的代码在 Snakes and Coffee 对 Blender 的帖子的评论中被称为 古老的不被批准的打印方法 在python中打印多个参数 https stackoverflow com questions 15286401
  • Java Apache Commons getPercentile() 结果与 MS Excel 百分位数不同

    我有一个算法可以计算percentile 85 with Apache Commons一系列值 12 个值 供以后使用阈值进行评估以做出决定 结果与 Excel 给出的结果类似 但不相等 有时这对我的应用程序至关重要 因为使用 Excel
  • 如何在 C# 中将我自己的 wsdl 包含在我的 Web 服务中

    我有一个 wsdl 文件 我的 Web 服务 旧的 asmx 样式 必须实现它 这已得到照顾 当我发布 Web 服务时 您可以使用 wsdl 参数调用它以获取生成的 wsdl 如何包含我的 wsdl 文件 以便返回该文件而不是生成的文件 是
  • 语法错误:找不到或无法读取要导入的文件:foundation/common/ratios

    我安装了 Foundation 当我编辑并保存 app scss 文件时 它会在项目的 sass 文件夹中创建一个 app css 和一个 config rb 文件 当我打开 app css 文件时我得到这个 Syntax error Fi
  • 按对象的 NSDate 属性对对象数组进行排序[重复]

    这个问题在这里已经有答案了 可能的重复 如何对其中包含自定义对象的 NSMutableArray 进行排序 https stackoverflow com questions 805547 how to sort an nsmutablea
  • 如何使用nodejs/express上传和读取文件

    有各种各样关于此的帖子 但我仍然不明白 我想上传 csv 并读取和处理其内容 我的玉文件是这个 views import jade extends layout block content h1 title form action impo
  • 扩展 Google 地图 + D3 示例以添加路径或线路

    我正在尝试修改这个Google 地图 D3 示例 http bl ocks org 1125458包括点之间的线 我采取的方法是为每行添加新的 svg 元素 我成功创建了一组新的 svg 元素 var markerLink layer se