我正在试图弄清楚如何手动触发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) 我正在尝试学习如何将一个表中的多个列连接到另一个表中的单个列.
这是我最简单形式的表结构:
球队
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) 我有一个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数组?我很难过!非常感谢!
我有一个D3折线图,我在图表后面放置一个矩形.这个rect附加了一个鼠标事件,但问题是我的图表还有另一个矩形覆盖在图表上方,该图表也附加了事件.
如何让较低的矩形鼠标事件在顶部覆盖的较高矩形上方冒泡?非常感谢!
我在这里创建了一个小提琴:
这是我的代码.寻找"这就是我需要鼠标悬停起泡的地方"评论,看看我想要冒泡哪个元素.
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) 我刚刚开始学习更高级的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)