반경 정보를 이용하여 마커 생성하기

가능합니다.

중심점 좌표는 Map.getCenter() (이하 c1)로 구할 수 있고
각 마커들의 좌표는 Marker.getPosition() (이하 c2)으로 구할 수 있습니다.

이 두 좌표의 거리를 m값으로 구할 수 있는 방법이 있습니다.
바로 Polyline.getLength()입니다.
이 값을 원의 반지름으로 넣어준 Radius와 비교하여 작은 거리의 마커만 Marker.setMap(map) 해주시면 됩니다.

// 원(Circle)의 옵션으로 넣어준 반지름
var radius = 100;

// 마커들이 담긴 배열
markers.forEach(function(m) {
    var c1 = map.getCenter();
    var c2 = m.getPosition();
    var poly = new Polyline({
      // map: map, 을 하지 않아도 거리는 구할 수 있다.
      path: [c1, c2]
    });
    var dist = poly.getLength(); // m 단위로 리턴

    if (dist < radius) {
        m.setMap(map);
    } else {
        m.setMap(null);
    }
});
1개의 좋아요