Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用D3.js和GeoJson在地图上的某些坐标上设置一个小图像_Javascript_D3.js_Geojson - Fatal编程技术网

Javascript 使用D3.js和GeoJson在地图上的某些坐标上设置一个小图像

Javascript 使用D3.js和GeoJson在地图上的某些坐标上设置一个小图像,javascript,d3.js,geojson,Javascript,D3.js,Geojson,我想将用户给出的一些坐标与geojson文件中的坐标进行比较,如果条件为真,那么我想在坐标定义的位置上绘制一个小的圆形图像(非常小,像符号或其他东西)。我必须在d3.json方法中写些什么才能从geojson文件中访问坐标,比较坐标并在其上绘制图像? 任何帮助都将不胜感激 这是我的geojson文件的一小部分 { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": {}, "id":"Andh

我想将用户给出的一些坐标与geojson文件中的坐标进行比较,如果条件为真,那么我想在坐标定义的位置上绘制一个小的圆形图像(非常小,像符号或其他东西)。我必须在d3.json方法中写些什么才能从geojson文件中访问坐标,比较坐标并在其上绘制图像? 任何帮助都将不胜感激

这是我的geojson文件的一小部分

{
"type": "FeatureCollection",
"features": [
{ "type": "Feature", "properties": {}, "id":"Andhra Pradesh", "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 80.149167, 13.618300 ], [ 80.142031, 13.544708 ], [ 80.126421, 13.584849 ], [ 80.158087, 13.591093 ], [ 80.120622, 13.605812 ], [ 80.149167, 13.618300 ] ] ], [ [ [ 82.258801, 16.689980 ], [ 82.285562, 16.697563 ], [ 82.368074, 16.723877 ], [ 82.311876, 16.602562 ], [ 82.258801, 16.689980 ] ] ],

我相信你需要另一个数据集来满足你的需求。在
几何图形
集合中的这些坐标用于绘制路径。请参阅文档:

换句话说,这些只是你在地图上看到的“线”(边界)的坐标。我相信你想比较每个州(路径)内的位置坐标,比如城市或其他POI,对吗

在这种情况下,您有两个选项:您可以根据用户给定的坐标轻松绘制一个圆或任何东西,或者如果这些坐标是城市,您可以搜索另一个包含这些城市地理数据的JSON文件,并将用户的输入与这些坐标进行比较

一旦你有了这些坐标(让我们称它们为
经度
纬度
),你就可以这样绘制它们:

svg.append("circle")
    .attr("cx", function() {
        return projection(longitude);
    })
    .attr("cy", function(d) {
        return projection(latitude);
    })
    .attr("r", whatever)
    .style("fill", whatever);

svg
是用于附加svg的变量,
projection
是用于设置投影的变量。

感谢您的回复。是的,这些坐标是我想比较的城市的坐标。你能告诉我在哪里可以找到印度城市的json吗。这是我从stackoverflow上的一个问题中得到的链接,但我不知道该下载哪一个,我不知道在哪里可以找到它。。。但是现在你知道你需要什么了,事情会变得更容易的!:-)谢谢:)是的,如何在那个地方画一个标记或图像?谢谢:-)如果我只想用地名来画标记?我必须在代码中做些什么更改?只是一个圆圈,但这次我只知道地点的名称,而不是坐标