小编Cri*_*ter的帖子

如何在Leaflet地图多边形上触发事件?

我正在试图弄清楚如何手动触发Leaflet多边形的事件(通过GeoJSON加载).

简而言之,我有一张带有多个多边形的Leaflet地图.我还在地图外部有一个常规超链接,当点击它时,应该触发特定多边形上的鼠标悬停事件(或任何事件).

如何为所有多边形分配ID,以便我可以将超链接绑定到特定多边形的事件?或者这甚至是最合乎逻辑的做法?

最终,我正在尝试创建一个包含大量多边形的地图以及与每个多边形相关联的HTML文本标签表.单击HTML表格文本时,我想在地图多边形上触发事件(反之亦然).我只是不知道如何引用每个多边形.

这是我非常简化的HTML:

<body>

    <div id="map" style="height: 550px; width:940px"></div>

    <a href="#" id="testlink">Click to trigger a specific polygon mouseover event</a>

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

这是我非常简化的JS:

$(document).ready(function () {

// build the map and polygon layer
function buildMap(data) {

    var map = new L.Map('map');

    var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/***yourkeyhere***/66267/256/{z}/{x}/{y}.png',
        cloudmadeAttribution = '',
        cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18, attribution: cloudmadeAttribution});

    var mapLoc = new L.LatLng(43.675198,-79.383287);
    map.setView(mapLoc, 12).addLayer(cloudmade);

    var geojsonLayer = new L.GeoJSON(null, {});

    geojsonLayer.on("featureparse", function (e){

        // apply the polygon style
        e.layer.setStyle(polyStyle);

        (function(layer, properties) …
Run Code Online (Sandbox Code Playgroud)

events map geojson leaflet

19
推荐指数
2
解决办法
3万
查看次数

将一个表中的多个列连接到另一个表中的单个列

我正在尝试学习如何将一个表中的多个列连接到另一个表中的单个列.

这是我最简单形式的表结构:

球队

id | team_name |
1  |   teamA   |
2  |   teamB   |
3  |   teamC   |
4  |   teamD   |
Run Code Online (Sandbox Code Playgroud)

交易

id |  team_1 (FK to teams.id)  |  team_2 (FK to teams.id)  |
1  |            1              |              2            |
2  |            3              |              4            |
Run Code Online (Sandbox Code Playgroud)

这是我当前的SQL,它将trades.team_1加入teams.id:

SELECT teams.team_name AS team1, teams.team_name AS team2, trades.team_1, trades.team_2
FROM teams
JOIN trades ON (trades.team_1 = teams.id);
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何创建第二个连接,也将trades.team_2加入trades.id?

这意味着trades.team_1 AND trades.team_2将加入trades.id

我想回来的结果是:

team1  |  team2  |  team_1  |  team_2  |
teamA …
Run Code Online (Sandbox Code Playgroud)

mysql sql database join

12
推荐指数
3
解决办法
4万
查看次数

如何使用D3访问对象数组?

我有一个D3图表,我试图解析内联JSON格式的数组,而不是从外部加载数据.

而不是做这样的事情:

d3.json("data/tsx.json", function (error, data) {
    data.forEach(function (d) {
        d.dateOrig = d.date;
        d.date = parseDate(d.date);
        d.close = +d.close;
});
Run Code Online (Sandbox Code Playgroud)

我只想解析内联JSON格式的数组,如下所示:

var data = [
  {"date":"1-May-13","close":58.13},
  {"date":"30-Apr-13","close":53.98},
  {"date":"27-Apr-13","close":67.00},
  {"date":"26-Apr-13","close":89.70},
  {"date":"25-Apr-13","close":99.00},
  {"date":"24-Apr-13","close":130.28},
  {"date":"23-Apr-13","close":166.70},
  {"date":"20-Apr-13","close":234.98},
  {"date":"19-Apr-13","close":345.44},
  {"date":"18-Apr-13","close":443.34},
];

  data.forEach(function(d) {
    d.date = parseDate(d.date);
    d.close = +d.close;
Run Code Online (Sandbox Code Playgroud)

但是这不能使用我在上面第一种方法中使用的相同代码.

我已经创建了一个有效的小提琴,但是我可以看到我正在解析数组错误并且我的图表元素被多次创建(与数组长度相同的次数).当我从外部加载数据时,这不会发生.

从这个小提琴的第35行开始看我的评论.

http://jsfiddle.net/Critter/Hc7zD/5/

如何重写我的代码以正确解析JSON数组?我很难过!非常感谢!

javascript svg json d3.js

8
推荐指数
1
解决办法
2万
查看次数

如何让SVG元素鼠标事件通过另一个元素冒泡?

我有一个D3折线图,我在图表后面放置一个矩形.这个rec​​t附加了一个鼠标事件,但问题是我的图表还有另一个矩形覆盖在图表上方,该图表也附加了事件.

如何让较低的矩形鼠标事件在顶部覆盖的较高矩形上方冒泡?非常感谢!

我在这里创建了一个小提琴:

http://jsfiddle.net/TnjCC/1/

这是我的代码.寻找"这就是我需要鼠标悬停起泡的地方"评论,看看我想要冒泡哪个元素.

var data = [
  {"date":"1-May-13","close":58.13},
  {"date":"30-Apr-13","close":53.98},
  {"date":"27-Apr-13","close":67.00},
  {"date":"26-Apr-13","close":89.70},
  {"date":"25-Apr-13","close":99.00},
  {"date":"24-Apr-13","close":130.28},
  {"date":"23-Apr-13","close":166.70},
  {"date":"20-Apr-13","close":234.98},
  {"date":"19-Apr-13","close":345.44},
  {"date":"18-Apr-13","close":443.34},
];

var margin = {top: 20, right: 50, bottom: 30, left: 50},
    width = 960 - margin.left - margin.right,
    height = 500 - margin.top - margin.bottom;

var parseDate = d3.time.format("%d-%b-%y").parse,
    bisectDate = d3.bisector(function(d) { return d.date; }).left,
    formatValue = d3.format(",.2f"),
    formatCurrency = function(d) { return "$" + formatValue(d); };

var x = d3.time.scale()
    .range([0, width]);

var y = d3.scale.linear()
    .range([height, 0]); …
Run Code Online (Sandbox Code Playgroud)

javascript svg d3.js

7
推荐指数
2
解决办法
8842
查看次数

如何从mySQL和PHP检索多维数组的结果?

我刚刚开始学习更高级的SQL和PHP,我真的在努力寻找如何查询我的数据库以进行我正在构建的测验.

最后,我试图返回一个具有以下结构的json对象,它给出了一个问题列表和所有可能的答案作为多维数组:

{
    "questions":
        [
            {
                "question": "question text here",
                "answers":
                    [
                         { "answer": "answer text here", "points": 10 },
                         { "answer": "answer text here", "points": 20 },
                         { "answer": "answer text here", "points": 30 },
                         { "answer": "answer text here", "points": 40 }
                    ]
            },
            {
                "question": "question text here",
                "answers":
                    [
                         { "answer": "answer text here", "points": 10 },
                         { "answer": "answer text here", "points": 20 },
                         { "answer": "answer text here", "points": 30 },
                         { "answer": "answer …
Run Code Online (Sandbox Code Playgroud)

php mysql jquery select multidimensional-array

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

标签 统计

d3.js ×2

javascript ×2

mysql ×2

svg ×2

database ×1

events ×1

geojson ×1

join ×1

jquery ×1

json ×1

leaflet ×1

map ×1

multidimensional-array ×1

php ×1

select ×1

sql ×1