제가 임의로 설정한 좌표에 마커를 생성하고
Circle 객체를 생성했을때
좌표가 Circle 안에 들어가있으면 1를 반환하고 안들어가있으면 0을 반환하는 법을 알고 싶습니다.
현재는 제가 직접 Circle의 사이드좌표를 알아내서 하는 방법밖에 떠오르질 않는데
다른 방법은 없을까요?
알려주시면 감사하겠습니다!
음…circle 기준으로는 기능이 없었던 것 같고
영역 기준으로는 아래를 참고 하세요
http://apis.map.kakao.com/web/documentation/#LatLngBounds_contain
1개의 좋아요
감사합니다!!
죄송한데 궁금한게 있습니다.
알려주신 방법은 그리기 관리자를 사용해서 하셨는데
저는 원을 그리기 관리자로 생성하지 않고 kakao.maps.Circle(options)으로 생성해서 만들었습니다.
그래도 위에 올려주신 방법을 보고 해결할 수 있을까요??
주석 첨부 합니다.
var markers = [ marker1, marker2, .... ];
var circle = new kakao.maps.Circle(options);
var center = circle.getPosition();
var radius = circle.getRadius();
var line = new kakao.maps.Polyline();
markers.forEach(function(marker) {
// 마커의 위치와 원의 중심을 경로로 하는 폴리라인 설정
var path = [ marker.getPosition(), center ];
line.setPath(path);
// 마커와 원의 중심 사이의 거리
var dist = line.getLength();
// 이 거리가 원의 반지름보다 작거나 같다면
if (dist <= radius) {
// 해당 marker는 원 안에 있는 것
}
});
감사합니다!! 성공했습니다!!