Leaflet 如果传单地图中半径为3 km的圆圈内有两个移动标记,如何更改两个圆圈的颜色

Leaflet 如果传单地图中半径为3 km的圆圈内有两个移动标记,如何更改两个圆圈的颜色,leaflet,openstreetmap,leaflet.draw,angular-leaflet-directive,leaflet.markercluster,Leaflet,Openstreetmap,Leaflet.draw,Angular Leaflet Directive,Leaflet.markercluster,我已经创建了两个3公里的圆圈,中心来自后端,我已经创建了移动标记,其纬度和经度如下所示(var x,var y) 我的要求是,如果两个标记中的任何一个进入任何一个圆圈,圆圈的颜色应该变成红色,如果它在圆圈外,应该变成蓝色 我已经试过了,但是颜色改变只对一个圆圈有效 .component.ts map = L.map('map').setView([12.78,80.79], 12); this.drones.drone1.Drone.latlong[0].lon], 12);

我已经创建了两个3公里的圆圈,中心来自后端,我已经创建了移动标记,其纬度和经度如下所示(var x,var y)

我的要求是,如果两个标记中的任何一个进入任何一个圆圈,圆圈的颜色应该变成红色,如果它在圆圈外,应该变成蓝色

我已经试过了,但是颜色改变只对一个圆圈有效

.component.ts

 map = L.map('map').setView([12.78,80.79], 12);  
    this.drones.drone1.Drone.latlong[0].lon], 12);

    L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
      attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
    }).addTo(map);

var x = {
      "Drone": {
        "Droneid": 1001,
        "latlong": [
            {
                "lat": 12.957052,
                "lon": 80.241433
            },
            {
                "lat": 12.95379,
                "lon":  80.230627
            },
//some array of objects of lat,lon
]
}
}

var y = {
      "Drone": {
        "Droneid": 1002,
        "latlong": [
            {
                "lat": 12.9516,
                "lon": 80.1462
            },
//some array of objects of lat,lon

]
}
}

 TIME = 2500;

var latlngs = x.Drone.latlong;
var START_IDX = 1;
var latlngIdx = START_IDX; 
var marker;
var droneicon;
var droneicon2;
var latlngs02 = y.Drone.latlong;
var START_IDX02 = 1;
var latlngIdx02 = START_IDX02;


for(var i=0;i<this.sensors.length; i++ ){

var latlng = L.latLng(this.sensors[i].latitude, this.sensors[i].longitude)
var latlng02 = L.latLng(this.jammers[i].latitude, this.jammers[i].longitude)

    marker = L.marker(latlng, { icon: sensoricon }).addTo(map);
    marker = L.marker(latlng02, { icon: jammericon }).addTo(map);
    circlemark = L.circle(latlng, { radius: 5000, weight: 0 }).addTo(map);

}
droneicon = L.marker([x.Drone.latlong[0].lat,x.Drone.latlong[0].lon], {icon : myIcon}).addTo(map);


var nextLatLng = () =>{

if(droneicon){
      if(latlngIdx === latlngs.length){
          latlngIdx = START_IDX;
      }
    droneicon.setLatLng(latlngs[latlngIdx]);
    for (var i=0; i< this.sensors.length;i++){

      if (getDistanceFromLatLonInKm(this.sensors[i].latitude, this.sensors[i].longitude, latlngs[latlngIdx].lat,latlngs[latlngIdx].lon) <= 5.0) {
        circlemark.setStyle({ color: 'red', weight: 1, opacity: 7.0 });
      }
      else {
        circlemark.setStyle({ color: 'blue', weight: 1, opacity: 7.0 });
      }  
      }
      //insidecirclespace();
latlngIdx++;

setTimeout(nextLatLng,TIME); 

}

  }
  
nextLatLng();

//testing

droneicon2 = L.marker([y.Drone.latlong[0].lat,y.Drone.latlong[0].lon], {icon : myIcon}).addTo(map);

var nextLatLng2 = () =>{

if(droneicon2){
      if(latlngIdx02 === latlngs02.length){ // Beginn on idx 2 if last idx is reached
          latlngIdx02 = START_IDX02;
      }
    droneicon2.setLatLng(latlngs02[latlngIdx02]);
    for (var i=0; i< this.sensors.length;i++){

      if (getDistanceFromLatLonInKm(this.sensors[i].latitude, this.sensors[i].longitude, latlngs02[latlngIdx02].lat,latlngs02[latlngIdx02].lon) <= 5.0) {
        circlemark.setStyle({ color: 'red', weight: 1, opacity: 7.0 });
      }
      else {
        circlemark.setStyle({ color: 'blue', weight: 1, opacity: 7.0 });
      }  
      }
      //insidecirclespace();
latlngIdx02++;

setTimeout(nextLatLng2,TIME); 
}

  }
  
nextLatLng2();
map=L.map('map').setView([12.78,80.79],12);
this.drones.drone1.Drone.latlong[0].lon],12);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
归属:“©贡献者”
}).addTo(地图);
变量x={
“无人机”:{
“无人机”:1001,
“拉特朗”:[
{
“lat”:12.957052,
“lon”:80.241433
},
{
“lat”:12.95379,
“lon”:80.230627
},
//lat,lon的一些对象数组
]
}
}
变量y={
“无人机”:{
“无人机”:1002,
“拉特朗”:[
{
“lat”:12.9516,
“lon”:80.1462
},
//lat,lon的一些对象数组
]
}
}
时间=2500;
var latlngs=x.Drone.latlong;
var START_IDX=1;
var latlngIdx=开始_IDX;
var标记;
无人机图标;
var droneicon2;
var latlngs02=y.Drone.latlong;
var START_IDX02=1;
var latlngIdx02=启动_IDX02;
对于(var i=0;i{
如果(无人机图标){
if(latlngIdx==latlngs.length){
latlngIdx=开始_IDX;
}
droneicon.setLatLng(latlngs[latlngIdx]);
对于(var i=0;iif(getDistanceFromLatLonInKm(this.sensors[i]。纬度,this.sensors[i]。经度,latlngs02[latlngIdx02]。lat,latlngs02[latlngIdx02]。lon)我试过几种方法,但如果有移动的标记进入圆圈内,我仍然会改变圆圈的颜色。有人能帮我获取上述代码吗?我对这张传单地图不熟悉。