首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >D3 albersUsa投影函数返回空

D3 albersUsa投影函数返回空
EN

Stack Overflow用户
提问于 2016-02-05 01:34:19
回答 1查看 840关注 0票数 0

我对D3非常陌生,我正试图在地图上设置点。

当我用以下代码创建一个投影时,我感到很困惑:

代码语言:javascript
复制
var projection = d3.geo
      .albersUsa()
      .scale(500)
      .translate([el.clientWidth / 2, el.clientHeight / 2]);

我用这个投影来绘制一张地图,它工作得很好。

但是,每当我调用projection([10, 20])时,它都会返回null,无论传入哪个值。

我的错误是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-05 02:32:06

从文件中

projection(location) …如果指定的位置没有定义的投影位置,例如该位置在投影的裁剪范围之外时,则可以返回null。

Albers投影仅在其边界内定义,并为定义良好的区域外的坐标生成null

请参见使用projection(location)调用[10,20][-110,40]调用的比较,前者无效,后者是有效点:

代码语言:javascript
复制
var projection = d3.geo
      .albersUsa()
      .scale(500)
      .translate([960, 500]);
      
d3.selectAll("p")
    .data([[10,20],[-110,40]])
  .enter().append("p")
    .text(function(d) { return d + ": " + projection(d); });
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35214884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档