标签: datamaps

数据映射获取国家/地区代码列表

如何获取d3.js数据映射支持的所有国家/地区的列表?

按照datamaps演示页面中的示例,我将此配置用于我的地图:

var basic = new Datamap({
  element: document.getElementById("basic")
  fills: {
    defaultFill: "#ABDDA4",
    authorHasTraveledTo: "#fa0fa0"
  },
  data: {
    USA: { fillKey: "authorHasTraveledTo" },
    JPN: { fillKey: "authorHasTraveledTo" },
    ITA: { fillKey: "authorHasTraveledTo" },
    CRI: { fillKey: "authorHasTraveledTo" },
    KOR: { fillKey: "authorHasTraveledTo" },
    DEU: { fillKey: "authorHasTraveledTo" },
  }
});
Run Code Online (Sandbox Code Playgroud)

如何获取数据图中包含的所有国家/地区的列表(除了"USA","JPN","ITA"等)?

javascript d3.js datamaps

10
推荐指数
1
解决办法
5399
查看次数

D3 DataMaps(或jvectormap):如何通过coords将自定义对象放在地图上

例如,我想通过gps coords(lat,lng)将自定义html对象添加到wold地图中 - 就像用css或任何其他(js?)标记动画完成的脉动点一样

<style>

#circle {
    background: red;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;

}

.gps_ring {
    border: 3px solid red;
    -webkit-border-radius: 30px;
    height: 18px;
    width: 18px;

    left:20px;
    top:214px;
    -webkit-animation: pulsate 1s ease-out;
    -webkit-animation-iteration-count: infinite; 
    opacity: 0.0
}
@-webkit-keyframes pulsate {
    0% {-webkit-transform: scale(0.1, 0.1); opacity: 0.0;}
    50% {opacity: 1.0;}
    100% {-webkit-transform: scale(1.2, 1.2); opacity: 0.0;}
}
</style>

<div id="state" class="grid_4 alpha">
    <div class="gps_ring"></div>

</div>
Run Code Online (Sandbox Code Playgroud)

d3.js jvectormap datamaps

10
推荐指数
1
解决办法
765
查看次数

如何自定义react-typescript-datamaps库?

我目前正在 ReactJS 项目中使用react-typescript-datamaps 库,并在自定义地图上显示的国家/地区名称的字体样式和大小方面面临挑战。尽管付出了努力,我仍然无法找到合适的方法来进行必要的改变。

这是相关组件的示例:

import React, { useEffect, useState } from "react";
import { DataMapsWrapper } from "react-typescript-datamaps";
import { useDispatch, useSelector } from "react-redux";
import AttackHelper from "./AttackHelper";
import BlastHelper from "./BlastHelper";

import BubblesConfig from "./BubblesConfig";
import {  getThreatsMapData } from "../store/dataSlice";


const MapView = () => {
  const dispatch = useDispatch();
  const [index, setIndex] = useState(0);
  const [dstloc, setDstloc] = useState();
  const [srcloc, setSrcloc] = useState();
  const [arc, setArc] = useState([]);
  const [blast, setBlast] = useState([]);

  const …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs datamaps

9
推荐指数
1
解决办法
223
查看次数

D3 DataMaps:泡泡上的OnClick事件

我正在关注datamaps文档,我正在尝试将onClick监听器设置为我在svg上呈现的气泡.现在,svg div具有以下子标记:

<svg>
  <g id class="datamaps-subunits">..</g>
  <g id class="bubbles">..</g>
</svg>
Run Code Online (Sandbox Code Playgroud)

文件说,对于地图上列出的国家,这应该按照以下方式完成:

done: function(datamap) {
            datamap.svg.selectAll('.datamaps-subunits').on('click', function() {
              alert("hello");  
            });
        }
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,同时尝试点击地图上的特定区域.

试图将相同的侦听器附加到bubbles类没有任何作用.

done: function(datamap) {
            datamap.svg.selectAll('.bubbles').on('click', function() {
                alert("hello"); 
            });
        }
Run Code Online (Sandbox Code Playgroud)

javascript svg d3.js datamaps

6
推荐指数
1
解决办法
3785
查看次数

将文本添加到 Datamap 的气泡中

所以我基本上使用来自 Datamaps 示例网站的默认气泡图。

var bubble_map = new Datamap({
  element: document.getElementById("bubbles"),
  geographyConfig: {
    popupOnHover: false,
    highlightOnHover: false
  },
  fills: {
    defaultFill: '#ABDDA4',
    USA: 'blue',
    RUS: 'red'
  }
});
bubble_map.bubbles([
  {
    name: 'Not a bomb, but centered on Brazil',
    radius: 23,
    centered: 'BRA',
    country: 'USA',
    yeild: 0,
    fillKey: 'USA',
    date: '1954-03-01'
  },
  {
    name: 'Not a bomb',
    radius: 15,
    yeild: 0,
    country: 'USA',
    centered: 'USA',
    date: '1986-06-05',
    significance: 'Centered on US',
    fillKey: 'USA'
  },
  {
    name: 'Castle Bravo',
    radius: 25,
    yeild: 15000, …
Run Code Online (Sandbox Code Playgroud)

html javascript d3.js datamaps

5
推荐指数
0
解决办法
323
查看次数

缩放时Datamaps D3引脚/标记恒定大小和相对位置的问题

我有一个带有图钉标记的D3.js Datamaps.js映射,我一直在尝试实现缩放。

http://jsbin.com/xoferi/edit?html,输出

图像图钉标记为20x20,图钉标记的点(在x + 10,y + 20处)在所选的经度/纬度点上方。

缩放地图时出现问题,图像从其相对位置漂移。例如:看一看冰岛别针。放大时,它向上和向左漂移。

在缩放和单击地图时,如何保持销钉的大小相同且相对位置相同?

我在寻找其他示例,但是我不确定自己缺少什么。也许需要将视口大小添加到计算方法中。或者,可能需要将图钉标记的来源更改为默认值。我不确定。

参考:带有标记的d3美国州地图,缩放变换问题

svg d3.js datamaps

5
推荐指数
1
解决办法
585
查看次数

如何在 clojurescript 中包含外部 javascript 库

我们正试图在目前用 angularjs 编写的项目中引入 clojurescript。我们正在使用一个外部 javascript 库 - datamaps。我们使用 :foreign-libs 编译器选项以下列方式获取依赖文件:

 :compiler {:output-to "resources/public/js/testable.js"                                                                       
                              :main "gofigure.test-runner"                                                                                       
                              :foreign-libs [{:file "globe.js"                                                                                   
                                              :provides ["globe"]}                                                                               
                                             {:file "datamaps/src/js/datamaps.js"                                                                
                                              :provides ["datamaps"]}                                                                            
                                             {:file "d3/d3.js"                                                                                   
                                              :provides ["d3"]}                                                                                  
                                             {:file "topojson/topojson.js"                                                                       
                                              :provides ["topojson"]}}}
Run Code Online (Sandbox Code Playgroud)

我们正面临一个错误:“无法读取未定义的属性‘世界’”

我们将此问题缩小到 datamaps 文件中的一个问题,我们认为这是因为在 foreign-libs 选项中我们提到了特定的 datamaps.js 文件,但我们遗漏了 datamaps 文件夹中的其他文件,因此没有准确编译整个库。

有没有办法将整个库作为依赖项而不仅仅是单个文件?

javascript clojurescript datamaps

5
推荐指数
1
解决办法
1560
查看次数

鼠标滚轮缩放地图 - DataMaps.js

我使用全局地图DataMaps.js.当鼠标滚轮移动时,我想实现鼠标缩放.有一个静态缩放的例子:

var zoom = new Datamap({
  element: document.getElementById("zoom_map"),
  scope: 'world',
  // Zoom in on Africa
  setProjection: function(element) {
    var projection = d3.geo.equirectangular()
      .center([23, -3])
      .rotate([4.4, 0])
      .scale(400)
      .translate([element.offsetWidth / 2, element.offsetHeight / 2]);
    var path = d3.geo.path()
      .projection(projection);

    return {path: path, projection: projection};
  }
});
Run Code Online (Sandbox Code Playgroud)

另外,我有事件鼠标滚轮:

$('#zoom_map').bind('DOMMouseScroll mousewheel', function(e){
    if (e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) {
        console.log("+");
        e.preventDefault();
    }
    else{
        console.log("-");
        e.preventDefault();
    }
});
Run Code Online (Sandbox Code Playgroud)

我试图连接这些部分.此外,我试图更改datamaps.js.但是,不幸的是,我失败了.

javascript zooming world-map d3.js datamaps

4
推荐指数
1
解决办法
2995
查看次数

使用Datamaps在一个页面中创建加拿大和美国的地图

我正在使用Datamaps创建加拿大和美国的地图.我在其网站上看到了教程和/或示例,我看到了"仅限美国地图"的示例.我这样做了:

    <script>
        var addUSA = new Datamap({
            scope: 'usa',
            element: document.getElementById('usa-map'),
            geographyConfig: {
                highlightOnHover: false,
                borderColor: '#006298',
                borderWidth: 0.8,
                popupTemplate: function(geography, data) {
                    return "<div class='hoverinfo'><strong>" + data.info + "</strong></div>";
                }
            },
            dataUrl: 'data.json',
            dataType: 'json',
            data: {},
            fills: {
                defaultFill: '#FFFFFF'
            }
        });
        addUSA.labels();
    </script>
Run Code Online (Sandbox Code Playgroud)

所以我假设你也可以创建一个"加拿大地图".但问题是,我不知道如何将两个国家结合起来.

我的目标是标签,hover-info和json,这就是我使用Datamaps的原因.

datamaps

4
推荐指数
1
解决办法
1313
查看次数

Datamaps给了我一个无法读取属性'albersUsa'的undefined

我在尝试创建地图时收到此错误:

数据映射错误 我目前正在使用的版本,"datamaps": "^0.5.8",这是直接来自我的package.json.我还检查了package.json实际的包,看看main指向的位置:

Datamaps package.json <code>datamaps.all.js</code>正在加载.</p> </div>
        <p>
          <a href=javascript import d3.js angularjs datamaps

1
推荐指数
1
解决办法
1564
查看次数