0
주어진 반경을 가진 원주 주위에 마커를 추가하려고합니다. 내 중심점이 내지도의 현재 위치이며 주변에 10 개의 중간 지점을 추가하려고합니다. 원에서 점을 찾는 데 Pythagoras 방법을 사용하려고하지만 여기에서 계산이 정확하다고 생각하지 않습니다.Google지도에서 원의 둘레에 마커를 추가하십시오.
이private void drawCirclePoints()
{
int numOfPoints = 10;
int radius = 100;
LatLng center = new LatLng(homeBase.latitude, homeBase.longitude);
double slice = 360/numOfPoints;
ArrayList<LatLng> centerArray = new ArrayList<>();
for (int i = 0; i < numOfPoints; i++)
{
double angle = slice * i;
double X = center.latitude + radius * Math.cos(angle * Math.PI/180);
double Y = center.longitude + radius * Math.sin(angle * Math.PI/180);
centerArray.add(new LatLng(X, Y));
}
CircleOptions circleOptions = new CircleOptions();
circleOptions.center(homeBase);
circleOptions.radius(radius);
circleOptions.fillColor(0x33FF0000);
circleOptions.strokeColor(Color.BLUE);
circleOptions.strokeWidth(3);
for (int i = 0; i < centerArray.size(); i++)
{
setMarker("sample", centerArray.get(i).latitude, centerArray.get(i).longitude);
}
markercircle = mMap.addCircle(circleOptions);
}
여기 내 문제가 반환 된 좌표가 정확하지 않거나 내가 예상 :
여기 내 기능입니다. 내가 도대체 뭘 잘못하고있는 겁니까?
더 많은 인터넷 검색 결과. 내 대답에 도착했다고 생각해. 위의 방법은 문제가 없지만 필요한 답을 나에게주지 않습니다. 나는 여전히 내 직교 좌표를 위도와 경도 (평평한 지구 근사치를 가정)로 변환해야하는데 이는 내 코드에서 누락 된 추가 단계입니다. – MaskedAfrican