有没有人知道获得一对纬度和经度点的中点的最佳方法?
我使用d3.js在地图上绘制点并需要在两点之间绘制一条曲线,所以我需要创建一个中点来绘制线条中的曲线.
请参阅下面的图片,以便更好地了解我要做的事情:

对不起,如果这个问题含糊不清.
当我尝试将我的Phonegapp应用程序放到Android设备上进行测试时,它不起作用.
它适用于iOS.
我在网上搜索过,建议的一切都不适用于我的问题.
我正在运行命令:
adb devices
返回:
List of devices attached
BX90374LPY device
Run Code Online (Sandbox Code Playgroud)
我正在运行:
phonegap run android --device=BX90374LPY
Run Code Online (Sandbox Code Playgroud)
这导致:
Unknown platforms: BX90374LPY
Run Code Online (Sandbox Code Playgroud)
如果我跑:
phonegap run android --device
Run Code Online (Sandbox Code Playgroud)
我明白了:
[phonegap] executing 'cordova run android --device'
[phonegap] completed 'cordova run android --device'
Run Code Online (Sandbox Code Playgroud)
但我的设备上没有任何反应.
我做错了什么,或者错过了什么?
先感谢您.
编辑/更新
似乎我的ANDROID_HOME的$ PATH变量有问题
这是为我修复它的原因:
打开你的bash档案:
open -e .bash_profile
然后在打开时将其添加到文件中:
export ANDROID_HOME=/usr/local/Cellar/android-sdk/24.1.2
export PATH=$ANDROID_HOME/tools:$PATH
Run Code Online (Sandbox Code Playgroud)
保存此文件,然后重新启动终端.任务完成.
TLDR;
固定如下
selectedValue = selectedValue.replace(/\s+/g, '')
Run Code Online (Sandbox Code Playgroud)
感谢:Richard Macarthy和Aaron Digulla的回答,这让我想起了正确的答案.
只是很明显,似乎Grunt出于某种原因添加了这个空白.修复非常简单......
原始问题
我有一个JSON请求,它使用d3.js获取要用于数据可视化的JSON文件的内容.
这一切都在本地工作正常,但是当我运行grunt构建时,URL字符串会%20从无处注入其中...
以下是在运行Grunt之前字符串的外观:
d3.json("json/wards-info/"+selectedValue+"-wards-data.json", function(error, newDatas) {
newData = newDatas;
newWardsData = newWardsDatas;
drawMap(newData, newWardsData);
});
Run Code Online (Sandbox Code Playgroud)
其中计算:
http://localhost:8080/app/json/wards-info/liverpool-ward-data.json
Run Code Online (Sandbox Code Playgroud)
运行Grunt后,计算出的URL字符串变为:
http://localhost:8080/dist/json/wards-info/liverpool%20-ward-data.json
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它似乎是%20在两者之间添加liverpool-ward
这是因为咕噜声,还是因为别的什么?
在下图中,您可以看到从一个点(黑色圆圈)到其 3 个相关点 () 绘制了 3 条线。
图片
题
如何使用两点之间距离的百分比计算每条线上点之间的纬度和经度点?
例如,如果我想让位置能够沿着每条线绘制额外的圆圈,差异为 20%?
我现在有什么代码
var data = [
{ "coords" : [ 53.409045, -2.985406 ]},
{ "coords" : [ 53.408747, -2.982862 ]},
{ "coords" : [ 53.407630, -2.984136 ]},
{ "coords" : [ 53.407142, -2.986931 ]}
];
var pointA = new L.LatLng(53.409045, -2.985406);
var pointB;
data.forEach(function(d) {
pointB = new L.LatLng(d.coords[0], d.coords[1]);
L.polyline([pointA, pointB]).addTo(map);
L.circle([d.coords[0], d.coords[1]], 10).addTo(map);
});
Run Code Online (Sandbox Code Playgroud)
上面的代码唯一要做的就是为每个点画一个圆,并从主圆(点A)到其他圆(点B)画一条线
我非常需要知道如何按距离百分比计算点 A 及其相关点之间的多个坐标。
我需要确保所有绿色圆圈与中心圆圈的距离相同
用于测试的 CODEP
编辑 - 到目前为止我使用以下正确答案的图像
如何使用d3在圆弧内添加文本或数字标签?
我已经按照自己想要的方式绘制了路径,但正在努力获取其中的文字?
我想在路径的开头为每个路径添加“计数”的值
我已经添加了下面的内容以及创建了一支笔(请参见下面的链接)
var width = 300, height = 300;
var twoPi = 2 * Math.PI; // Full circle
var formatPercent = d3.format(".0%");
var data = [
{ "count" : 1000 },
{ "count" : 800 },
{ "count" : 800 },
{ "count" : 700 }
];
var max = d3.max(data, function(d) {
return +d.count;
});
var percent = d3.max(data, function(d) {
return +d.count / 10;
});
var radius = .25;
var gap = 22;
var maxCount …Run Code Online (Sandbox Code Playgroud)