我有两个坐标,我想绘制一条相等长度的垂直线.是否有一个简单的谷歌地图偏移为此或一个干净的JavaScript方法,我可以实现这一点?那会是什么?
这是我到目前为止所拥有的.如您所见,我将两个点绘制为标记,然后尝试在它们之间绘制一条线,除了我需要使该线垂直于两个坐标之间的线.
var locations = [
['', position.coords.latitude, position.coords.longitude, 1],
['', llat, llng, 2]
];
var marker, i;
for ( var i = 0; i < locations.length; i++ )
{
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
}
var borderPlanCoordinates = [
new google.maps.LatLng(llat, position.coords.longitude),
new google.maps.LatLng(position.coords.latitude,llng)
];
var borderPath = new google.maps.Polyline({
path: borderPlanCoordinates,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 10,
map: map
});
borderPath.setMap(map);
Run Code Online (Sandbox Code Playgroud) 我想控制我的节点,以便它们中的每一个都是链接的,并且没有孤独的节点.
我的脚本每隔30秒从json查询添加一对新节点.如果任一新节点与现有节点重复,则仅使用唯一节点更新图形并将其链接到其他现有节点.
在这种情况下,我正在移除最旧的节点,以便在图表上保留最多10个节点.在这里,我似乎遇到了麻烦.如何删除节点并检查和删除任何未链接到任何其他节点的straggler节点?
该脚本基于knoren关于添加新节点的帖子.
this.checkLength = function () {
if (nodes.length > 10) {
var i = links.shift();
nodes.splice(findNodeIndex(i),1);
update();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Mapbox loadURL函数加载markerLayer.这工作正常,我能够访问标记属性,但似乎不起作用的是改变标记的颜色.
var markerLayer = L.mapbox.markerLayer();
markerLayer.loadURL('geojson.php?lat='+lat+'&lng='+lng)
.addTo(map);
markerLayer.on('click',function(e) {
e.layer.unbindPopup();
var feature = e.layer.feature;
var info = '<h2>' + feature.properties.name + '</h2>' +
'<p>' + feature.properties.description + '</p>';
document.getElementById('info').innerHTML = info;
feature.properties['old-color'] = feature.properties['marker-color'];
feature.properties['marker-color'] = '#000';
});
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用,我将如何使用从URL加载的geoJson数据更改标记的颜色?该贴例子依赖于没有使用使用loadURL加载GeoJSON的数据.我怀疑这与标记颜色不变的原因有关.