# 도형

## 폴리곤 <a href="#polygon" id="polygon"></a>

지도상에 다각형 모양의 면 형태로 표출되는 셰이프를 의미합니다.&#x20;

### 추가 및 삭제 <a href="#polygon-add-and-remove" id="polygon-add-and-remove"></a>

지도 위에 다각형을 추가하려면 [`InvPolygon`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html) 객체를 생성한 다음 반드시 [`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html#setCoords-java.util.List-) 속성을 설정해주어야 합니다. [`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html#setCoords-java.util.List-) 속성은 [`setCoords()`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html#setCoords-java.util.List-) 함수를 사용하거나, [폴리곤 객체 생성자](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html#InvPolygon-java.util.List-)를 통해 설정할 수 있습니다.

생성된 폴리곤 객체의  [`map`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvShape.html#setMap-com.inavi.mapsdk.maps.InaviMap-) 속성을 표출하고자 하는 지도 객체로 설정하면 폴리곤이 지도 위에 표출됩니다.&#x20;

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 폴리곤의 좌표열
val myCoords = listOf(
    LatLng(37.40224, 127.11077),
    LatLng(37.40218, 127.10883),
    LatLng(37.40119, 127.10899),
    LatLng(37.40116, 127.11063)
)

// 지도 위에 폴리곤 추가
val polygon = InvPolygon().apply {
    coords = myCoords
    map = inaviMap
}
```

{% endtab %}
{% endtabs %}

<div align="left"><img src="/files/-LrKRAb9qSeg72KN_jJB" alt="지도 위에 폴리곤을 추가한 모습"></div>

반대로 지도에서 폴리곤을 제거하려면 [`map`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvShape.html#setMap-com.inavi.mapsdk.maps.InaviMap-) 속성을 `null`로 설정하면 됩니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 지도에서 폴리곤 제거
polygon.map = null
```

{% endtab %}
{% endtabs %}

### 좌표열 <a href="#polygon-coords" id="polygon-coords"></a>

[`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html#getCoords--) 속성으로 폴리곤의 좌표열을 가져오거나 새로 설정할 수 있습니다. 좌표열 원소의 개수는 `3` 이상이어야 합니다. [`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html#setCoords-java.util.List-) 속성을 설정하지 않았거나, 좌표열의 원소 개수가 `3` 미만이거나, 좌표열 중 `null`인 좌표가 존재할 경우 [`InvalidLatLngException`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/exceptions/InvalidLatLngException.html)이 발생합니다.

[`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html#setCoords-java.util.List-) 속성을 설정하는데 사용한 객체 또는 이미 설정된 [`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html#getCoords--) 속성 객체의 원소를 추가하거나 삭제하더라도 지도에 변경사항이 반영되지 않습니다. 반드시 [`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html#setCoords-java.util.List-) 속성을 다시 설정해주어야 좌표열의 변경사항이 반영됩니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
val myCoords2 = mutableListOf(
    LatLng(37.40224, 127.11077),
    LatLng(37.40218, 127.10883),
    LatLng(37.40119, 127.10899),
    LatLng(37.40116, 127.11063)
)

myCoords2.removeAt(myCoords2.size - 1) // 좌표열의 마지막 원소 삭제
polygon.coords = myCoords2 // coords 속성을 다시 설정해주어야 지도에 반영된다.
```

{% endtab %}
{% endtabs %}

### 채우기 색상 <a href="#polygon-fill-color" id="polygon-fill-color"></a>

[`fillColor`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html#getFillColor--) 속성으로 폴리곤의 채우기 색상을 가져오거나 새로 설정할 수 있습니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 폴리곤의 채우기 색상을 노랑색으로 설정
polygon.fillColor = Color.YELLOW
```

{% endtab %}
{% endtabs %}

<div align="left"><img src="/files/-LrKRFlBq0T2y79X7Xv0" alt="폴리곤의 채우기 색상을 설정한 모습"></div>

### 테두리 두께 및 색상 <a href="#polygon-stroke" id="polygon-stroke"></a>

[`strokeWidth`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html#getStrokeWidth--) 속성으로 폴리곤의 테두리 두께를, [`strokeColor`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolygon.html#getStrokeColor--) 속성으로 테두리 색상을 각각 가져오거나 새로 설정할 수 있습니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
polygon.strokeWidth = 5f // 폴리곤의 테두리 두께를 5px로 설정
polygon.strokeColor = Color.RED // 폴리곤의 테두리 두께를 빨간색으로 설정
```

{% endtab %}
{% endtabs %}

<div align="left"><img src="/files/-LrKRK8SI68wdcArFh27" alt="폴리곤에 테두리 두께와 테두리 색상을 설정한 모습"></div>

## 폴리라인 <a href="#polyline" id="polyline"></a>

지도상에 선 형태로 표출되는 셰이프를 의미합니다.&#x20;

### 추가 및 삭제 <a href="#polyline-add-and-remove" id="polyline-add-and-remove"></a>

지도 위에 선형을 추가하려면 [`InvPolyline`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html) 객체를 생성한 다음 반드시 [`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#setCoords-java.util.List-) 속성을 설정해주어야 합니다. [`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#setCoords-java.util.List-) 속성은 [`setCoords()`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#setCoords-java.util.List-) 함수를 사용하거나, [폴리라인 객체 생성자](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#InvPolyline-java.util.List-)를 통해 설정할 수 있습니다.

생성된 폴리라인 객체의  [`map`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvShape.html#setMap-com.inavi.mapsdk.maps.InaviMap-) 속성을 표출하고자 하는 지도 객체로 설정하면 폴리라인이 지도 위에 표출됩니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 폴리라인의 좌표열
val myCoords = listOf(
  LatLng(37.40212, 127.10816),
  LatLng(37.40135, 127.10844),
  LatLng(37.40216, 127.10921),
  LatLng(37.40136, 127.11024),
  LatLng(37.40212, 127.11044)
)

// 지도 위에 폴리라인 추가
val polyline = InvPolyline().apply {
  coords = myCoords
  map = inaviMap
}
```

{% endtab %}
{% endtabs %}

<div align="left"><img src="/files/-LrKROlRNf2o5JlpWHX0" alt="지도 위에 폴리라인을 추가한 모습"></div>

반대로 지도에서 폴리라인을 제거하려면 [`map`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvShape.html#setMap-com.inavi.mapsdk.maps.InaviMap-) 속성을 `null`로 설정하면 됩니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 지도에서 폴리라인 제거
polyline.map = null
```

{% endtab %}
{% endtabs %}

### 좌표열 <a href="#polyline-coords" id="polyline-coords"></a>

[`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#getCoords--) 속성으로 폴리라인의 좌표열을 가져오거나 새로 설정할 수 있습니다. 좌표열 원소의 개수는 `2` 이상이어야 합니다. [`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#setCoords-java.util.List-) 속성을 설정하지 않았거나, 좌표열의 원소 개수가 `2` 미만이거나, 좌표열 중 `null`인 좌표가 존재할 경우 [`InvalidLatLngException`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/exceptions/InvalidLatLngException.html)이 발생합니다.

[`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#setCoords-java.util.List-) 속성을 설정하는데 사용한 객체 또는 이미 설정된 [`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#getCoords--) 속성을 가져와서 원소를 추가하거나 삭제하더라도 지도에 변경사항이 반영되지 않습니다. 반드시 [`coords`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#setCoords-java.util.List-) 속성을 다시 설정해주어야 좌표열의 변경사항이 반영됩니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
val myCoords2 = mutableListOf(
  LatLng(37.40212, 127.10816),
  LatLng(37.40135, 127.10844),
  LatLng(37.40216, 127.10921),
  LatLng(37.40136, 127.11024),
  LatLng(37.40212, 127.11044)
)

myCoords2.removeAt(myCoords2.size - 1) // 좌표열의 마지막 원소 삭제
polyline.coords = myCoords2 // coords 속성을 다시 설정해주어야 지도에 반영된다.
```

{% endtab %}
{% endtabs %}

### 두께 <a href="#polyline-width" id="polyline-width"></a>

[`width`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#getWidth--) 속성으로 폴리라인의 두께를 가져오거나 새로 설정할 수 있습니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 폴리라인의 두께를 10px로 설정
polyline.width = 10
```

{% endtab %}
{% endtabs %}

<div align="left"><img src="/files/-LrKRSJVsdeIY3NqdF49" alt="폴리라인에 두께를 설정한 모습"></div>

### 색상 <a href="#polyline-color" id="polyline-color"></a>

[`color`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#getColor--) 속성으로 폴리라인의 색상을 가져오거나 새로 설정할 수 있습니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 폴리라인의 색상을 파랑색으로 설정
polyline.color = Color.BLUE
```

{% endtab %}
{% endtabs %}

<div align="left"><img src="/files/-LrKRVw8x-KWLwAekf-k" alt="폴리라인에 색상을 설정한 모습"></div>

### 점선 패턴 <a href="#polyline-pattern" id="polyline-pattern"></a>

[`pattern`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#getPattern--) 속성으로 폴리라인의 점선 패턴을 가져오거나 새로 설정할 수 있습니다. [`setPattern()`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#setPattern-int...-) 함수 호출 시 파라미터의 개수는 반드시 2개 이상이어야 합니다. 홀수 번째 파라미터는 실선의 길이, 짝수 번째 파라미터는 공백의 길이를 의미하며, 설정한 파라미터의 개수만큼 실선과 공백이 반복되는 패턴이 적용됩니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 폴리라인의 점선 패턴을 실선 20px, 공백 10px로 설정
polyline.setPattern(20, 10)
```

{% endtab %}
{% endtabs %}

<div align="left"><img src="/files/-LrKRZrrABxb2O6_qs0z" alt="폴리라인에 점선 패턴을 설정한 모습"></div>

### 끝 지점 모양 <a href="#polyline-line-cap" id="polyline-line-cap"></a>

[`capType`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#getCapType--) 속성으로 폴리라인의 끝 지점 모양을 가져오거나 새로 설정할 수 있습니다. 끝 지점 모양의 유형은 [`InvPolyline.LineCap`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.LineCap.html) 열거형에 정의되어 있으며, 유형별 특징은 다음과 같습니다.

* [`Round`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.LineCap.html#Round): 끝 지점이 둥근 모양이 됩니다.
* [`Butt`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.LineCap.html#Butt): 끝 지점이 좌표에 맞게 직각으로 잘립니다.
* [`Square`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.LineCap.html#Square): 끝 지점에 선 두께의 절반 만큼의 사각형이 추가됩니다.

![](/files/-LrKRc8lIgfe4y7aCbMR)![](/files/-LrKReJDIioQECsIbvrZ)![](/files/-LrKRgtRG0uWdXnVg4D4)

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 폴리라인의 끝 지점 모양을 Round로 설정
polyline.capType = InvPolyline.LineCap.Round
```

{% endtab %}
{% endtabs %}

### 연결점 모양 <a href="#polyline-join-type" id="polyline-join-type"></a>

[`joinType`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.html#getJoinType--) 속성으로 폴리라인의 연결점 모양을 가져오거나 새로 설정할 수 있습니다. 연결점 모양의 유형은 [`InvPolyline.LineJoin`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.LineJoin.html) 열거형에 정의되어 있으며, 유형별 특징은 다음과 같습니다.&#x20;

* [`Bevel`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.LineJoin.html#Bevel): 연결점에서 경사진 모양으로 그려집니다.
* [`Miter`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.LineJoin.html#Miter): 연결점이 뾰족하게 그려집니다.
* [`Round`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvPolyline.LineJoin.html#Round): 연결점이 원형으로 둥글게 그려집니다.

![](/files/-LrKRjQvZzXyFvAK_tct)![](/files/-LrKRlLPorlJ2OBLvgwu)![](/files/-LrKRnIpss6NGL7u-av2)

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 폴리라인의 연결점 모양을 Round로 설정
polyline.joinType = InvPolyline.LineJoin.Round
```

{% endtab %}
{% endtabs %}

## 원 <a href="#circle" id="circle"></a>

지도상에 원 모양의 면 형태로 표출되는 셰이프를 의미합니다.&#x20;

### 추가 및 삭제 <a href="#circle-add-and-remove" id="circle-add-and-remove"></a>

지도 위에 원을 추가하려면 [`InvCircle`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvCircle.html) 객체를 생성한 다음 반드시 [`center`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvCircle.html#setCenter-com.inavi.mapsdk.geometry.LatLng-) 속성을 설정해주어야 합니다. [`center`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvCircle.html#setCenter-com.inavi.mapsdk.geometry.LatLng-) 속성은 [`setCenter()`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvCircle.html#setCenter-com.inavi.mapsdk.geometry.LatLng-) 함수를 사용하거나, [원 객체 생성자](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvCircle.html#InvCircle-com.inavi.mapsdk.geometry.LatLng-double-)를 통해 설정할 수 있습니다.

생성된 원 객체의  [`map`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvShape.html#setMap-com.inavi.mapsdk.maps.InaviMap-) 속성을 표출하고자 하는 지도 객체로 설정하면 원이 지도 위에 표출됩니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 지도 위에 반경 100m 원 추가
val circle = InvCircle().apply {
    center = LatLng(37.40224, 127.11077)
    radius = 100.0
    map = inaviMap
}
```

{% endtab %}
{% endtabs %}

<div align="left"><img src="/files/-LrKRrLOGym5qJ3GN593" alt="지도 위에 원을 추가한 모습"></div>

반대로 지도에서 원을  제거하려면 [`map`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvShape.html#setMap-com.inavi.mapsdk.maps.InaviMap-) 속성을 `null`로 설정하면 됩니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 지도에서 원 제거
circle.map = null
```

{% endtab %}
{% endtabs %}

### 중심점 좌표 <a href="#circle-center" id="circle-center"></a>

[`center`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvCircle.html#getCenter--) 속성으로 원의 중심점 좌표를 가져오거나 새로 설정할 수 있습니다. [`center`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvCircle.html#setCenter-com.inavi.mapsdk.geometry.LatLng-) 속성을 설정하지 않으면 [`InvalidLatLngException`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/exceptions/InvalidLatLngException.html)이 발생합니다. 이미 지도에 원이 그려지고 있는 상태에서 [`center`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvCircle.html#setCenter-com.inavi.mapsdk.geometry.LatLng-) 속성을 변경하면 변경된 좌표로 원이 이동합니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 원의 중심점을 새로운 좌표로 설정
circle.center = LatLng(36.99473, 127.81832)
```

{% endtab %}
{% endtabs %}

### 반경 <a href="#circle-radius" id="circle-radius"></a>

[`radius`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvCircle.html#getRadius--) 속성으로 원의 반경을 가져오거나 새로 설정할 수 있습니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 원의 반경을 50m로 설정
circle.radius = 50.0
```

{% endtab %}
{% endtabs %}

<div align="left"><img src="/files/-LrKRzcuir89FhvhExt-" alt="원에 반경을 설정한 모습"></div>

### 채우기 색상 <a href="#circle-fill-color" id="circle-fill-color"></a>

[`fillColor`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvCircle.html#getFillColor--) 속성으로 원의 채우기 색상을 가져오거나 새로 설정할 수 있습니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// 폴리곤의 채우기 색상을 노랑색으로 설정
circle.fillColor = Color.YELLOW
```

{% endtab %}
{% endtabs %}

<div align="left"><img src="/files/-LrKS31Ou9E7DoYWF1tb" alt="원에 채우기 색상을 설정한 모습"></div>

### 테두리 두께 및 색상 <a href="#circle-stroke" id="circle-stroke"></a>

[`strokeWidth`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvCircle.html#getStrokeWidth--) 속성으로 원의 테두리 두께를, [`strokeColor`](https://inavi-systems.github.io/inavi-maps-sdk-reference/android/com/inavi/mapsdk/style/shapes/InvCircle.html#getStrokeColor--) 속성으로 테두리 색상을 각각 가져오거나 새로 설정할 수 있습니다.

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
circle.strokeWidth = 5f // 원의 테두리 두께를 5px로 설정
circle.strokeColor = Color.RED // 원의 테두리 두께를 빨간색으로 설정
```

{% endtab %}
{% endtabs %}

<div align="left"><img src="/files/-LrKS7hZqtvZNFko531E" alt="원에 테두리 두께와 테두리 색상을 설정한 모습"></div>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://inavimaps-android.gitbook.io/sdkguide/guide/shapes/figures.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
