地図上に円を描くときはクラス[SKCircle]を使用します。
SKMapSurfaceView#addCircleを使うことで画面上に表示できるようになります。
@Override
public void onSingleTap(SKScreenPoint skScreenPoint) {
SKCircle skCircle = getSKCircle(skScreenPoint);
mapView.addCircle(skCircle);
}
private SKCircle getSKCircle(SKScreenPoint skScreenPoint) {
SKCircle skCircle = new SKCircle();
//IDを設定する
skCircle.setIdentifier(1);
//中心点を設定する
skCircle.setCircleCenter(mapView.pointToCoordinate(skScreenPoint));
//半径を設定する.単位はメートルです。
skCircle.setRadius(100f);
//外周円の色を設定する
skCircle.setOutlineColor(new float[] { 1f, 0f, 0f, 1f });
//円内の色を設定する
skCircle.setColor(new float[] { 1f, 1f, 1f, 1f });
//円周を破線表示にし、間隔の長さを指定する。
skCircle.setOutlineDottedPixelsSkip(100);
//円周を破線表示にし、線の長さを指定する。
skCircle.setOutlineDottedPixelsSolid(100);
//円の中心部を空白にする、割合で指定する。
skCircle.setMaskedObjectScale(0.1f);
//使い方がわからない
skCircle.setNumberOfPoints(1000);
return skCircle;
}