Mapbox Mobile Maps SDK v10 試してみる

## はじめに
2021年1月27日 Mapbox Mobile Maps SDK v10 が公開され、3Dマップ表示など機能追加されたので試してみた
[公式ブログ](https://www.mapbox.com/blog/mapbox-mobile-sdk-v10-beta)

## 実装
[インストールガイド](https://docs.mapbox.com/android/beta/maps/guides/install/)を参考に進めていく
### ライブラリの追加
```build.gradle(app)
dependencies {
  implementation 'com.mapbox.maps:android:10.0.0-beta.12'
}
```
まだbeta版である

### マイグレーション
既存アプリの SDK を v10 に更新する場合は [マイグレーションガイド](https://docs.mapbox.com/android/beta/maps/guides/migrate-to-v10/) を参考に修正していく。結構変更点が多いようで既存アプリで単にライブラリを差し替えただけではビルドが通らず、修正が大変そうな印象を受けた

### 3Dマップ表示
マイグレーションガイドの [New features and improvements](https://docs.mapbox.com/android/beta/maps/guides/migrate-to-v10/#3d-terrain-and-sky-layers) に 軽くCode snippet が紹介されている

```kotlin
mapboxMap.loadStyle(
 styleExtension = style(Style.SATELLITE_STREETS) {
   +rasterDemSource("TERRAIN_SOURCE") {
     url("mapbox://mapbox.terrain-rgb")
     tileSize(512)
   }
   +terrain("TERRAIN_SOURCE") {
     exaggeration(1.1) 
   }
)
```

style に `SATELLITE_STREETS` or `SATELLITE` を指定することで衛生画像が表示できる。`Terrain` を指定することで標高データが追加されて3D表示になる

### サンプルコード
その他、[API Reference](https://docs.mapbox.com/android/beta/maps/api-reference/) はあるものの公式ドキュメントは以上で、あとは [サンプルコード](https://github.com/mapbox/mapbox-maps-android) を参考にするしかないもよう

### デモ
サンプルコードの [Terrain3DShowcaseActivity](https://github.com/mapbox/mapbox-maps-android/blob/main/app/src/main/java/com/mapbox/maps/testapp/examples/terrain/Terrain3DShowcaseActivity.kt) を参考に3Dマップ表示を試してみた

<details><summary>コード</summary><div>

```kotlin
class Terrain3DShowcaseActivity : AppCompatActivity() {

    private lateinit var mapboxMap: MapboxMap

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_terrain_showcase)
        mapboxMap = mapView.getMapboxMap()
        mapboxMap.loadStyle(
            styleExtension = style(Style.SATELLITE) {
                +rasterDemSource(SOURCE) {
                    url(TERRAIN_URL_TILE_RESOURCE)
                    tileSize(512)
                }
                +terrain(SOURCE)
                +skyLayer(SKY_LAYER) {
                    skyType(SkyType.GRADIENT)
                    skyAtmosphereSun(listOf(-50.0, 90.2))
                }
                +geoJsonSource(GEOJSON_SOURCE_ID) {
                    feature(Feature.fromGeometry(LineString.fromLngLats(POINTS)))
                    lineMetrics(true)
                }
                +lineLayer("linelayer", GEOJSON_SOURCE_ID) {
                    lineCap(LineCap.SQUARE)
                    lineJoin(LineJoin.MITER)
                    lineOpacity(0.7)
                    lineWidth(7.0)
                    lineColor("#ff0000")
                }
            }
        )

        var position = 0
        var bear = 0.0

        Observable.interval(2000, TimeUnit.MILLISECONDS)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe {
                if (position >= POINTS.size) {
                    position = POINTS.size - 1
                }
                mapboxMap.easeTo(
                    CameraOptions.Builder()
                        .center(
                            Point.fromLngLat(
                                POINTS[position].longitude(),
                                POINTS[position].latitude()
                            )
                        )
                        .bearing(bear)
                        .build(),
                    MapAnimationOptions.mapAnimationOptions {
                        interpolator = LinearInterpolator()
                        duration = 2000
                    }
                )
                position += 50
                bear += 6.0
            }
    }

    override fun onStart() {
        super.onStart()
        mapView.onStart()
    }

    override fun onStop() {
        super.onStop()
        mapView.onStop()
    }

    override fun onLowMemory() {
        super.onLowMemory()
        mapView.onLowMemory()
    }

    override fun onDestroy() {
        super.onDestroy()
        mapView.onDestroy()
    }

    companion object {
        private const val SOURCE = "TERRAIN_SOURCE"
        private const val SKY_LAYER = "sky"
        private const val TERRAIN_URL_TILE_RESOURCE = "mapbox://mapbox.terrain-rgb"
        private const val GEOJSON_SOURCE_ID = "line"
        private val POINTS = listOf(
            Point.fromLngLat(130.524431310755, 33.623753715331),
            Point.fromLngLat(130.524222388953, 33.6236663660323),
            Point.fromLngLat(130.524007966845, 33.6237171076425),
            Point.fromLngLat(130.523790173616, 33.6237639188845),
            Point.fromLngLat(130.523564926116, 33.6237580013023),
            Point.fromLngLat(130.523354953131, 33.6237133066765),
            Point.fromLngLat(130.523141264625, 33.6237369840872),
            Point.fromLngLat(130.522929480591, 33.6237773358781),
            Point.fromLngLat(130.522702237185, 33.6237846950046),
            Point.fromLngLat(130.522562074218, 33.6236456537514),
            Point.fromLngLat(130.52256242684, 33.6234635094026),
            Point.fromLngLat(130.52261020712, 33.6232855898179),
            Point.fromLngLat(130.522569374644, 33.623099813588),
            Point.fromLngLat(130.522588083835, 33.6229096940162),
            Point.fromLngLat(130.522602827087, 33.6227231703944),
            Point.fromLngLat(130.522633059623, 33.6225403610613),
            Point.fromLngLat(130.52269232534, 33.6223466278517),
            Point.fromLngLat(130.522617392082, 33.6221753890962),
            Point.fromLngLat(130.522680136511, 33.6219140767058),
            Point.fromLngLat(130.522732479492, 33.6217320234986),
            Point.fromLngLat(130.522766226011, 33.6215461160978),
            Point.fromLngLat(130.522798366734, 33.6213642914152),
            Point.fromLngLat(130.52287923023, 33.6211857774399),
            Point.fromLngLat(130.522946184791, 33.6210017435958),
            Point.fromLngLat(130.523023643291, 33.6208167497102),
            Point.fromLngLat(130.523127384919, 33.6206521405278),
            Point.fromLngLat(130.523229724727, 33.6204835480333),
            Point.fromLngLat(130.523295712654, 33.6203025561056),
            Point.fromLngLat(130.523278637372, 33.620120075644),
            Point.fromLngLat(130.523222275526, 33.6199432310677),
            Point.fromLngLat(130.52315478824, 33.6197629720767),
            Point.fromLngLat(130.523179255649, 33.6195795783183),
            Point.fromLngLat(130.523197142094, 33.619394402297),
            Point.fromLngLat(130.523244682191, 33.6192102961391),
            Point.fromLngLat(130.523328670334, 33.6190361013264),
            Point.fromLngLat(130.523446583913, 33.6188712959126),
            Point.fromLngLat(130.523558256697, 33.6187092515609),
            Point.fromLngLat(130.523613684027, 33.6185221747117),
            Point.fromLngLat(130.523651700562, 33.6183363915569),
            Point.fromLngLat(130.523656948031, 33.6181459297547),
            Point.fromLngLat(130.523650860895, 33.6179578254902),
            Point.fromLngLat(130.523672225146, 33.6177414885342),
            Point.fromLngLat(130.523674897921, 33.6175462176907),
            Point.fromLngLat(130.523599579083, 33.617369705153),
            Point.fromLngLat(130.523464231605, 33.6172215342857),
            Point.fromLngLat(130.523469691488, 33.6170332518742),
            Point.fromLngLat(130.523448846741, 33.6168398098191),
            Point.fromLngLat(130.523476306047, 33.6166543192282),
            Point.fromLngLat(130.523560345033, 33.616482392698),
            Point.fromLngLat(130.523713772345, 33.6163376193928),
            Point.fromLngLat(130.523847193023, 33.6161905673555),
            Point.fromLngLat(130.523985354952, 33.6160384402149),
            Point.fromLngLat(130.52414294565, 33.6159142137934),
            Point.fromLngLat(130.524313532284, 33.6157803162487),
            Point.fromLngLat(130.524392320111, 33.6156049312029),
            Point.fromLngLat(130.524379761454, 33.6154205488595),
            Point.fromLngLat(130.524368998552, 33.6152337246786),
            Point.fromLngLat(130.524330584363, 33.6150562906678),
            Point.fromLngLat(130.524287733186, 33.6148724343308),
            Point.fromLngLat(130.524239228289, 33.6146857765927),
            Point.fromLngLat(130.524199745215, 33.6145064887977),
            Point.fromLngLat(130.524136120102, 33.6143252461127),
            Point.fromLngLat(130.524025323448, 33.614156886098),
            Point.fromLngLat(130.523908551657, 33.6139983452286),
            Point.fromLngLat(130.52380956685, 33.6138309205556),
            Point.fromLngLat(130.523741652079, 33.6136557518798),
            Point.fromLngLat(130.523688536912, 33.613468213049),
            Point.fromLngLat(130.523737461243, 33.6132879718538),
            Point.fromLngLat(130.523773085374, 33.6130941402357),
            Point.fromLngLat(130.523744895958, 33.6129104278302),
            Point.fromLngLat(130.523768033815, 33.6127181627142),
            Point.fromLngLat(130.523716173347, 33.6125407277625),
            Point.fromLngLat(130.523772950529, 33.6123552941333),
            Point.fromLngLat(130.52388275377, 33.6121957784572),
            Point.fromLngLat(130.524002388509, 33.6120426463075),
            Point.fromLngLat(130.524143091641, 33.6119018153566),
            Point.fromLngLat(130.524286302531, 33.6117562683818),
            Point.fromLngLat(130.524418942393, 33.6115976315446),
            Point.fromLngLat(130.524561444556, 33.6114465065667),
            Point.fromLngLat(130.524687283254, 33.6112913485432),
            Point.fromLngLat(130.52481436935, 33.6111447841765),
            Point.fromLngLat(130.524868449738, 33.6109666680668),
            Point.fromLngLat(130.524950482964, 33.61076958117),
            Point.fromLngLat(130.525058172625, 33.6106119034348),
            Point.fromLngLat(130.52514582314, 33.6104464885173),
            Point.fromLngLat(130.525193860428, 33.610266930764),
            Point.fromLngLat(130.52519242509, 33.6100776639716),
            Point.fromLngLat(130.525226438308, 33.6098906513245),
            Point.fromLngLat(130.5253433348, 33.6097207790095),
            Point.fromLngLat(130.525458269106, 33.6095678666255),
            Point.fromLngLat(130.525570231178, 33.6094065058407),
            Point.fromLngLat(130.52568682517, 33.6092536836787),
            Point.fromLngLat(130.525861017446, 33.6091435869019),
            Point.fromLngLat(130.525989628119, 33.608992032272),
            Point.fromLngLat(130.526107530565, 33.6088344680908),
            Point.fromLngLat(130.526274310881, 33.6087032955595),
            Point.fromLngLat(130.526492191557, 33.6086638083483),
            Point.fromLngLat(130.526707429767, 33.6086846959423),
            Point.fromLngLat(130.526585604135, 33.6085299494763),
            Point.fromLngLat(130.526431759619, 33.6083952599868),
            Point.fromLngLat(130.526598495348, 33.6082793108821),
            Point.fromLngLat(130.526721631805, 33.6081284723192),
            Point.fromLngLat(130.526859391725, 33.6079862500066),
            Point.fromLngLat(130.527036777098, 33.6078743247415),
            Point.fromLngLat(130.527112748347, 33.607695193099),
            Point.fromLngLat(130.52729791622, 33.6075942782431),
            Point.fromLngLat(130.527506819899, 33.6075483328354),
            Point.fromLngLat(130.527607349818, 33.6073847636262),
            Point.fromLngLat(130.527828060776, 33.6073552927913),
            Point.fromLngLat(130.528026092808, 33.6072690472827),
            Point.fromLngLat(130.528218815855, 33.6071755187829),
            Point.fromLngLat(130.528346918523, 33.6070181809317),
            Point.fromLngLat(130.52843708999, 33.606852058964),
            Point.fromLngLat(130.528580121496, 33.606712697082),
            Point.fromLngLat(130.528671759723, 33.6065382709684),
            Point.fromLngLat(130.528833866376, 33.6064129108826),
            Point.fromLngLat(130.529025992255, 33.6063047924845),
            Point.fromLngLat(130.529237531367, 33.6062510313465),
            Point.fromLngLat(130.529447706034, 33.6061824549667),
            Point.fromLngLat(130.529664610998, 33.6061709755193),
            Point.fromLngLat(130.529892161074, 33.6061398147271),
            Point.fromLngLat(130.530108816646, 33.6061416741022),
            Point.fromLngLat(130.530324755453, 33.6060801476129),
            Point.fromLngLat(130.530489387549, 33.6059429752519),
            Point.fromLngLat(130.530674217031, 33.6058278267313),
            Point.fromLngLat(130.530890557509, 33.6058523377134),
            Point.fromLngLat(130.531076913979, 33.6059450962883),
            Point.fromLngLat(130.531297566533, 33.6059058266249),
            Point.fromLngLat(130.531314284068, 33.6057244654028),
            Point.fromLngLat(130.531320455658, 33.6055404817164),
            Point.fromLngLat(130.531529851277, 33.6054908013076),
            Point.fromLngLat(130.531736706248, 33.6055707154839),
            Point.fromLngLat(130.531942231366, 33.6056266869075),
            Point.fromLngLat(130.532162931523, 33.6056887947608),
            Point.fromLngLat(130.532347623137, 33.6057911747817),
            Point.fromLngLat(130.53255364062, 33.6058490722362),
            Point.fromLngLat(130.532750487854, 33.6059325616389),
            Point.fromLngLat(130.53274171051, 33.6057493229513),
            Point.fromLngLat(130.532660698799, 33.6055733644854),
            Point.fromLngLat(130.532570637535, 33.6054079701713),
            Point.fromLngLat(130.532481956226, 33.6052318113595),
            Point.fromLngLat(130.532513122004, 33.605050089628),
            Point.fromLngLat(130.532730691297, 33.6050415647394),
            Point.fromLngLat(130.532910176769, 33.6051459798737),
            Point.fromLngLat(130.533070278871, 33.6052877731702),
            Point.fromLngLat(130.533299173314, 33.605267132596),
            Point.fromLngLat(130.533485989231, 33.6051722163751),
            Point.fromLngLat(130.533628934586, 33.6050327550208),
            Point.fromLngLat(130.533647804306, 33.6048464474656),
            Point.fromLngLat(130.533776712664, 33.6046998475647),
            Point.fromLngLat(130.533947658422, 33.6045871470473),
            Point.fromLngLat(130.534172655336, 33.6045359354),
            Point.fromLngLat(130.534349275275, 33.6044285628361),
            Point.fromLngLat(130.53451007481, 33.6043023820417),
            Point.fromLngLat(130.534719128895, 33.6042408840232),
            Point.fromLngLat(130.534924907944, 33.6041789047919),
            Point.fromLngLat(130.535141048858, 33.6041381201202),
            Point.fromLngLat(130.535322505675, 33.6040350820546),
            Point.fromLngLat(130.535458073291, 33.6038903590598),
            Point.fromLngLat(130.535575376294, 33.6037299695547),
            Point.fromLngLat(130.535800306714, 33.6037235673997),
            Point.fromLngLat(130.536020908966, 33.6037314442752),
            Point.fromLngLat(130.536139714894, 33.6035706761621),
            Point.fromLngLat(130.536283203272, 33.6034352128534),
            Point.fromLngLat(130.536289599178, 33.603252958547),
            Point.fromLngLat(130.536208815408, 33.6030757047562),
            Point.fromLngLat(130.536155407402, 33.6028972514677),
            Point.fromLngLat(130.53627647324, 33.602737397867),
            Point.fromLngLat(130.536239934183, 33.6025572140878),
            Point.fromLngLat(130.536255857965, 33.6023759061845),
            Point.fromLngLat(130.536399564342, 33.6022363258135),
            Point.fromLngLat(130.536274332668, 33.6020891380084),
            Point.fromLngLat(130.536459398705, 33.6019964345777),
            Point.fromLngLat(130.536673796686, 33.6019635309351),
            Point.fromLngLat(130.536818859884, 33.6018251958287),
            Point.fromLngLat(130.537035969894, 33.6017969825237),
            Point.fromLngLat(130.537130011577, 33.6015935112874),
            Point.fromLngLat(130.537104867625, 33.6014116711237),
            Point.fromLngLat(130.537271599529, 33.6015280253539),
            Point.fromLngLat(130.537493486459, 33.6015152478198),
            Point.fromLngLat(130.537706503266, 33.6015883509642),
            Point.fromLngLat(130.537857237207, 33.6017190317609),
            Point.fromLngLat(130.538039775439, 33.6018220298585),
            Point.fromLngLat(130.53819881267, 33.601958503784),
            Point.fromLngLat(130.538376655742, 33.6020884173309),
            Point.fromLngLat(130.538442378197, 33.6022730169441),
            Point.fromLngLat(130.538316951002, 33.6021121426883),
            Point.fromLngLat(130.538181922663, 33.6019683247513),
            Point.fromLngLat(130.538366275304, 33.6020638157515),
            Point.fromLngLat(130.538539918742, 33.6021736776327),
            Point.fromLngLat(130.538754045763, 33.6022076241502),
            Point.fromLngLat(130.538810239403, 33.6020323666731),
            Point.fromLngLat(130.538944615821, 33.6018836128208),
            Point.fromLngLat(130.539095945009, 33.6017551900174),
            Point.fromLngLat(130.53928338977, 33.6016611844931),
            Point.fromLngLat(130.539493474593, 33.6017194171729),
            Point.fromLngLat(130.539703918616, 33.6016659596101),
            Point.fromLngLat(130.539917894898, 33.6016273870888),
            Point.fromLngLat(130.539991650569, 33.6018014939368),
            Point.fromLngLat(130.540073517437, 33.6019796494752),
            Point.fromLngLat(130.540272804668, 33.6020550106122),
            Point.fromLngLat(130.540485092555, 33.6020216585191),
            Point.fromLngLat(130.540681132103, 33.6019369600822),
            Point.fromLngLat(130.540782284609, 33.6017698966621),
            Point.fromLngLat(130.54099401154, 33.6017235344238),
            Point.fromLngLat(130.541223142008, 33.6017155530728),
            Point.fromLngLat(130.541414173032, 33.6016298443439),
            Point.fromLngLat(130.541571026285, 33.6014981211738),
            Point.fromLngLat(130.541777369119, 33.6014097226976),
            Point.fromLngLat(130.54195557099, 33.6015142346088),
            Point.fromLngLat(130.5421651924, 33.6015626364979),
            Point.fromLngLat(130.542376451782, 33.601523041142),
            Point.fromLngLat(130.542570546931, 33.6016047380648),
            Point.fromLngLat(130.542653496969, 33.6017728724873),
            Point.fromLngLat(130.542805368832, 33.6019100582818),
            Point.fromLngLat(130.542894903555, 33.6020747454707),
            Point.fromLngLat(130.542820405368, 33.6022500777903),
            Point.fromLngLat(130.542664867695, 33.6023772322384),
            Point.fromLngLat(130.5425582705, 33.6025388661443),
            Point.fromLngLat(130.542638065575, 33.6027113302259),
            Point.fromLngLat(130.54276674607, 33.6028671509788),
            Point.fromLngLat(130.542905644867, 33.6030138082017),
            Point.fromLngLat(130.543031086722, 33.6031635534568),
            Point.fromLngLat(130.543221550641, 33.6032480878147),
            Point.fromLngLat(130.543231005889, 33.6034365222137),
            Point.fromLngLat(130.543123486563, 33.6036136937931),
            Point.fromLngLat(130.542981072407, 33.60376270753),
            Point.fromLngLat(130.542833779549, 33.6038947584493),
            Point.fromLngLat(130.542735276835, 33.6040640149361),
            Point.fromLngLat(130.542671832721, 33.6042424155113),
            Point.fromLngLat(130.542641359651, 33.6044248265207),
            Point.fromLngLat(130.542527864809, 33.6045807445878),
            Point.fromLngLat(130.542478528775, 33.6047570098333),
            Point.fromLngLat(130.54244498872, 33.6049376061499),
            Point.fromLngLat(130.542370815817, 33.605107774964),
            Point.fromLngLat(130.542232361192, 33.6052499079718),
            Point.fromLngLat(130.542321457193, 33.6050855249357),
            Point.fromLngLat(130.542217953825, 33.6052454505435),
            Point.fromLngLat(130.542015384723, 33.605312603895),
            Point.fromLngLat(130.541794923558, 33.6053184442129),
            Point.fromLngLat(130.541570694511, 33.6053612863673),
            Point.fromLngLat(130.541331291731, 33.6053502360533),
            Point.fromLngLat(130.541112808023, 33.605387789436),
            Point.fromLngLat(130.540922781103, 33.6054874994352),
            Point.fromLngLat(130.540749205628, 33.605594375807),
            Point.fromLngLat(130.540562004588, 33.6057027553431),
            Point.fromLngLat(130.540469924186, 33.6058669624393),
            Point.fromLngLat(130.540491972921, 33.6056779815971),
            Point.fromLngLat(130.540597944573, 33.6055181942956),
            Point.fromLngLat(130.540701511214, 33.6053568642638),
            Point.fromLngLat(130.540857503367, 33.605227916858),
            Point.fromLngLat(130.541071958624, 33.6051703022985),
            Point.fromLngLat(130.541280567077, 33.6051218729203),
            Point.fromLngLat(130.541459349951, 33.605017832542),
            Point.fromLngLat(130.541628707, 33.6049057579452),
            Point.fromLngLat(130.541807050924, 33.6048005136419),
            Point.fromLngLat(130.542005869164, 33.6047136551613),
            Point.fromLngLat(130.542165757789, 33.6045767454086),
            Point.fromLngLat(130.542318743709, 33.6044469960748),
            Point.fromLngLat(130.542513065651, 33.6043591970025),
            Point.fromLngLat(130.542642762769, 33.6042027319846),
            Point.fromLngLat(130.542734744749, 33.6040394685074),
            Point.fromLngLat(130.542850846015, 33.6038847279324),
            Point.fromLngLat(130.542998748473, 33.6037442787185),
            Point.fromLngLat(130.543186383425, 33.6036272866058),
            Point.fromLngLat(130.543280453636, 33.60346262318),
            Point.fromLngLat(130.543189878528, 33.6032917748155),
            Point.fromLngLat(130.543037947395, 33.6031488609405),
            Point.fromLngLat(130.542875771013, 33.6030190231069),
            Point.fromLngLat(130.542721352273, 33.6028822446652),
            Point.fromLngLat(130.542583962668, 33.6027405899533),
            Point.fromLngLat(130.542587742948, 33.6025543201509),
            Point.fromLngLat(130.542694091475, 33.6023955860544),
            Point.fromLngLat(130.542802141191, 33.602239080742),
            Point.fromLngLat(130.542896921544, 33.6020623426235),
            Point.fromLngLat(130.543053184518, 33.6019318606178),
            Point.fromLngLat(130.543269252717, 33.6018983768265),
            Point.fromLngLat(130.543488520685, 33.6018977457667),
            Point.fromLngLat(130.543704619768, 33.6018776889284),
            Point.fromLngLat(130.543696218901, 33.6016969911837),
            Point.fromLngLat(130.54356175959, 33.6015547029565),
            Point.fromLngLat(130.543503974332, 33.6013717281586),
            Point.fromLngLat(130.543367815853, 33.6012318404237),
            Point.fromLngLat(130.543293212534, 33.6010515565605),
            Point.fromLngLat(130.543234000169, 33.6008720562407),
            Point.fromLngLat(130.543330598906, 33.6007039133185),
            Point.fromLngLat(130.543350785522, 33.6005211602151),
            Point.fromLngLat(130.543334930927, 33.6003370929209),
            Point.fromLngLat(130.543348130943, 33.600155261072),
            Point.fromLngLat(130.54337875695, 33.5999743512205),
            Point.fromLngLat(130.543473532636, 33.5998016935204),
            Point.fromLngLat(130.543549628773, 33.5996267098658),
            Point.fromLngLat(130.543584262911, 33.599446019011),
            Point.fromLngLat(130.543413723261, 33.5993299257228),
            Point.fromLngLat(130.543261307863, 33.5991940140321),
            Point.fromLngLat(130.543214095192, 33.5990154992969),
            Point.fromLngLat(130.543134141722, 33.5988456682897),
            Point.fromLngLat(130.543113117304, 33.5986600051786),
            Point.fromLngLat(130.543125356622, 33.5984796871625),
            Point.fromLngLat(130.543130630425, 33.5982940743363),
            Point.fromLngLat(130.543061248937, 33.5981223240873),
            Point.fromLngLat(130.543013302252, 33.5979441057321),
            Point.fromLngLat(130.542973905867, 33.5977659727705),
            Point.fromLngLat(130.54299034978, 33.5975827870198),
            Point.fromLngLat(130.54289217096, 33.597416721993),
            Point.fromLngLat(130.542789141552, 33.5972573035137),
            Point.fromLngLat(130.54300338958, 33.5972342554192),
            Point.fromLngLat(130.543222815432, 33.597217042355),
            Point.fromLngLat(130.543385527017, 33.5973419773494),
            Point.fromLngLat(130.543495474392, 33.5974987737624),
            Point.fromLngLat(130.543635039533, 33.597636418402),
            Point.fromLngLat(130.543852643233, 33.5976041649068),
            Point.fromLngLat(130.544060812465, 33.5975461300848),
            Point.fromLngLat(130.544275341611, 33.5976073118819),
            Point.fromLngLat(130.544446918259, 33.5977208934267),
            Point.fromLngLat(130.544661616675, 33.597757134828),
            Point.fromLngLat(130.544856536393, 33.597841929574),
            Point.fromLngLat(130.545073710061, 33.5978494243963),
            Point.fromLngLat(130.545297548838, 33.5978772018584),
            Point.fromLngLat(130.545511378654, 33.5979031284573),
            Point.fromLngLat(130.545731062673, 33.5978910926437),
            Point.fromLngLat(130.545956482006, 33.5978960017253),
            Point.fromLngLat(130.546181019746, 33.5978680036863),
            Point.fromLngLat(130.546395490364, 33.5978341751863),
            Point.fromLngLat(130.546578101928, 33.5977167724534),
            Point.fromLngLat(130.546722868689, 33.5978518288357),
            Point.fromLngLat(130.546901700159, 33.5979530240132),
            Point.fromLngLat(130.54701401832, 33.5977975555049),
            Point.fromLngLat(130.54720967298, 33.5977081845057),
            Point.fromLngLat(130.547434724768, 33.5977211625714),
            Point.fromLngLat(130.5476262319, 33.5978046993591),
            Point.fromLngLat(130.547811399304, 33.5979065031173),
            Point.fromLngLat(130.547987506858, 33.5980129269018),
            Point.fromLngLat(130.548155576258, 33.5981386645954),
            Point.fromLngLat(130.548311865797, 33.5982703996912),
            Point.fromLngLat(130.548451683379, 33.5984090517461),
            Point.fromLngLat(130.548606423874, 33.5985357735393),
            Point.fromLngLat(130.548798497215, 33.5986369763341),
            Point.fromLngLat(130.54899573365, 33.5987145610345),
            Point.fromLngLat(130.54920828526, 33.598759931477),
            Point.fromLngLat(130.549428535805, 33.5987638120521),
            Point.fromLngLat(130.549646147462, 33.5987653605354),
            Point.fromLngLat(130.549802347447, 33.5989017887777),
            Point.fromLngLat(130.550006550553, 33.598815793201),
            Point.fromLngLat(130.550236293279, 33.5988179308609),
            Point.fromLngLat(130.550459139246, 33.598815518607),
            Point.fromLngLat(130.550649089696, 33.598911918184),
            Point.fromLngLat(130.55082991556, 33.5990105231684),
            Point.fromLngLat(130.551056884937, 33.5989914771112),
            Point.fromLngLat(130.551265505286, 33.5989365959113),
            Point.fromLngLat(130.551471452484, 33.5988802604913),
            Point.fromLngLat(130.551692179244, 33.5988614775771),
            Point.fromLngLat(130.551909118406, 33.5988526087853),
            Point.fromLngLat(130.552134287436, 33.5988790517451),
            Point.fromLngLat(130.552347309529, 33.598848576328),
            Point.fromLngLat(130.552570757758, 33.5988509305149),
            Point.fromLngLat(130.552791166696, 33.5988088453636),
            Point.fromLngLat(130.553014218846, 33.5988302856519),
            Point.fromLngLat(130.553228949025, 33.5987853345194),
            Point.fromLngLat(130.553441354137, 33.5987550890205),
            Point.fromLngLat(130.553662331757, 33.5987367988976),
            Point.fromLngLat(130.553879203478, 33.5987784883186),
            Point.fromLngLat(130.554073319847, 33.5988679300666),
            Point.fromLngLat(130.554248529959, 33.598985172561),
            Point.fromLngLat(130.55441246398, 33.5991028251118),
            Point.fromLngLat(130.554628366484, 33.5991296940992),
            Point.fromLngLat(130.554843706706, 33.5991522871974),
            Point.fromLngLat(130.555044136389, 33.5992254899247),
            Point.fromLngLat(130.555262588353, 33.5992734416377),
            Point.fromLngLat(130.555493857968, 33.5992481529528),
            Point.fromLngLat(130.555711803592, 33.5992358475319),
            Point.fromLngLat(130.555929193304, 33.5992392873828),
            Point.fromLngLat(130.55614760046, 33.5992172324935),
            Point.fromLngLat(130.55636155406, 33.5992444754607),
            Point.fromLngLat(130.556574954001, 33.5992953837155),
            Point.fromLngLat(130.556790835897, 33.5993508157336),
            Point.fromLngLat(130.556981168777, 33.5994505483323),
            Point.fromLngLat(130.55716812554, 33.5995565886545),
            Point.fromLngLat(130.557380568365, 33.5995964915438),
            Point.fromLngLat(130.557594683509, 33.5996296339157),
            Point.fromLngLat(130.557803670033, 33.5996759621861),
            Point.fromLngLat(130.557980308561, 33.5995611052548),
            Point.fromLngLat(130.557988756258, 33.5993754592332),
            Point.fromLngLat(130.558038682934, 33.5991966647036),
            Point.fromLngLat(130.558144813392, 33.5990379163076),
            Point.fromLngLat(130.558250449849, 33.5988760488807),
            Point.fromLngLat(130.558279388827, 33.5986909570706),
            Point.fromLngLat(130.558286146877, 33.598506931688),
            Point.fromLngLat(130.558391937807, 33.5983448141856),
            Point.fromLngLat(130.558503943053, 33.5981886263267),
            Point.fromLngLat(130.558586365118, 33.5980215875456),
            Point.fromLngLat(130.558731931902, 33.5978836401114),
            Point.fromLngLat(130.558847492801, 33.5977258200075),
            Point.fromLngLat(130.559004730844, 33.597598838784),
            Point.fromLngLat(130.559154936276, 33.5974603502604),
            Point.fromLngLat(130.559278306686, 33.5973072561778),
            Point.fromLngLat(130.559399661933, 33.5971563551395),
            Point.fromLngLat(130.559481076047, 33.5969863596895),
            Point.fromLngLat(130.559574397901, 33.5968180881073),
            Point.fromLngLat(130.559613840401, 33.5966395891511),
            Point.fromLngLat(130.559770889177, 33.5965142025257),
            Point.fromLngLat(130.559872081217, 33.5963537619821),
            Point.fromLngLat(130.560098186171, 33.5963286093171),
            Point.fromLngLat(130.560285150979, 33.5962239030726),
            Point.fromLngLat(130.560467970843, 33.5961153360126),
            Point.fromLngLat(130.560690190939, 33.5961196294913),
            Point.fromLngLat(130.560910184239, 33.5961112636297),
            Point.fromLngLat(130.561113530326, 33.5961772407494),
            Point.fromLngLat(130.561116729185, 33.5959953572844),
            Point.fromLngLat(130.561087946178, 33.5957989562553),
            Point.fromLngLat(130.560882711102, 33.5957372717418),
            Point.fromLngLat(130.560831430476, 33.5955613026613),
            Point.fromLngLat(130.560973592061, 33.5954245644705),
            Point.fromLngLat(130.561152779668, 33.595319391292),
            Point.fromLngLat(130.561270945152, 33.5951682475475),
            Point.fromLngLat(130.561430077065, 33.5950408145974),
            Point.fromLngLat(130.561598754107, 33.5949242249789),
            Point.fromLngLat(130.561721400022, 33.5947689175831),
            Point.fromLngLat(130.561865972061, 33.594626263131),
            Point.fromLngLat(130.562025881591, 33.5944962582662),
            Point.fromLngLat(130.562160606374, 33.5943470411527),
            Point.fromLngLat(130.562360872389, 33.5942792602171),
            Point.fromLngLat(130.562470058402, 33.5941224249056),
            Point.fromLngLat(130.562613942681, 33.5939872027282),
            Point.fromLngLat(130.562707465945, 33.5938193252715),
            Point.fromLngLat(130.562847619059, 33.5936767509845),
            Point.fromLngLat(130.562962418278, 33.5935192402388),
            Point.fromLngLat(130.56312613216, 33.5934006634437),
            Point.fromLngLat(130.563282058835, 33.5932669387197),
            Point.fromLngLat(130.563455797949, 33.5931596401696),
            Point.fromLngLat(130.563660135499, 33.5930851967196),
            Point.fromLngLat(130.563863498676, 33.5930122542056),
            Point.fromLngLat(130.564062656448, 33.5929352984269),
            Point.fromLngLat(130.564230744565, 33.5928137025478),
            Point.fromLngLat(130.564373461125, 33.5926730359418),
            Point.fromLngLat(130.564431553534, 33.5924993092862),
            Point.fromLngLat(130.564423502356, 33.592316958977),
            Point.fromLngLat(130.5645223336, 33.5921463091946),
            Point.fromLngLat(130.56465598629, 33.5920030599801),
            Point.fromLngLat(130.564747513289, 33.5918380355132),
            Point.fromLngLat(130.564912377454, 33.5917201155186),
            Point.fromLngLat(130.565121535903, 33.5916753112107),
            Point.fromLngLat(130.565325762894, 33.5916113959343),
            Point.fromLngLat(130.565511247526, 33.5915185985016),
            Point.fromLngLat(130.565611172981, 33.5913570304154),
            Point.fromLngLat(130.56575188403, 33.5912104988457),
            Point.fromLngLat(130.565920434389, 33.5910929301522),
            Point.fromLngLat(130.566116288104, 33.5909977062612),
            Point.fromLngLat(130.566299333133, 33.5909019808627),
            Point.fromLngLat(130.566408365105, 33.5907410866645),
            Point.fromLngLat(130.566448938627, 33.5905560861806),
            Point.fromLngLat(130.566541874572, 33.5903891569797),
            Point.fromLngLat(130.566663072843, 33.5902291675757),
            Point.fromLngLat(130.566691381741, 33.5900484179948),
            Point.fromLngLat(130.566794503645, 33.5898828644217),
            Point.fromLngLat(130.566900945278, 33.5897236017475),
            Point.fromLngLat(130.567038979445, 33.5895810339494),
            Point.fromLngLat(130.566991390151, 33.5894019359222),
            Point.fromLngLat(130.566920655344, 33.5892264442453),
            Point.fromLngLat(130.566910118439, 33.5890390295432),
            Point.fromLngLat(130.566898495931, 33.5888522644192),
            Point.fromLngLat(130.566891633984, 33.5886673969293),
            Point.fromLngLat(130.56690586975, 33.5884835988808),
            Point.fromLngLat(130.566827681718, 33.5883039790312),
            Point.fromLngLat(130.566720694672, 33.5881281527056),
            Point.fromLngLat(130.566619333983, 33.5879649049218),
            Point.fromLngLat(130.566524722659, 33.5877977473796),
            Point.fromLngLat(130.566437838288, 33.5876311592117),
            Point.fromLngLat(130.566402085921, 33.587452852616),
            Point.fromLngLat(130.566346063471, 33.5872784514756),
            Point.fromLngLat(130.56629894251, 33.5870982689613),
            Point.fromLngLat(130.566204228131, 33.5870073832891),
            Point.fromLngLat(130.566327658913, 33.5868517515732),
            Point.fromLngLat(130.566408141508, 33.5866835009715),
            Point.fromLngLat(130.566480167321, 33.5865043485983),
            Point.fromLngLat(130.566537723278, 33.5863207214576),
            Point.fromLngLat(130.566623689057, 33.5861517807338),
            Point.fromLngLat(130.566632007165, 33.5859669451103),
            Point.fromLngLat(130.566673860984, 33.5857834018982),
            Point.fromLngLat(130.566705429886, 33.5855980848991),
            Point.fromLngLat(130.566765954029, 33.585408700929),
            Point.fromLngLat(130.566833358352, 33.5852369079962),
            Point.fromLngLat(130.566892481993, 33.5850499211704),
            Point.fromLngLat(130.566903341247, 33.5848609998318),
            Point.fromLngLat(130.566951728673, 33.5846824097392),
            Point.fromLngLat(130.566982976167, 33.5845025383459),
            Point.fromLngLat(130.566999281329, 33.5843194910176),
            Point.fromLngLat(130.567039632276, 33.5841373662373),
            Point.fromLngLat(130.56707661372, 33.5839582198106),
            Point.fromLngLat(130.567121629142, 33.583776609705),
            Point.fromLngLat(130.567237827072, 33.5836243843671),
            Point.fromLngLat(130.567269996539, 33.5834441901942),
            Point.fromLngLat(130.567364031804, 33.5832759133565),
            Point.fromLngLat(130.567480667299, 33.5831209229355),
            Point.fromLngLat(130.567631277603, 33.5829913510634),
            Point.fromLngLat(130.56773261227, 33.582825687544),
            Point.fromLngLat(130.567893073175, 33.582698255382),
            Point.fromLngLat(130.568028498528, 33.5825527916064),
            Point.fromLngLat(130.568094257179, 33.5823751576217),
            Point.fromLngLat(130.568139962051, 33.5821930270559),
            Point.fromLngLat(130.568137463662, 33.5820036283197),
            Point.fromLngLat(130.568132106257, 33.5818193321829),
            Point.fromLngLat(130.568130235929, 33.5816350368851),
            Point.fromLngLat(130.568142090999, 33.5814528965838),
            Point.fromLngLat(130.568124813641, 33.5812696431322),
            Point.fromLngLat(130.56812442739, 33.5810854111184),
            Point.fromLngLat(130.568242013663, 33.5809267094517),
            Point.fromLngLat(130.56834895235, 33.5807679397705),
            Point.fromLngLat(130.568431817465, 33.5805895931407),
            Point.fromLngLat(130.568389926622, 33.5804113022156),
            Point.fromLngLat(130.568340756358, 33.5802333262015),
            Point.fromLngLat(130.56826683021, 33.5800590502107),
            Point.fromLngLat(130.568246170085, 33.5798771997591),
            Point.fromLngLat(130.568172313462, 33.579707322737),
            Point.fromLngLat(130.568133533577, 33.5795226857759),
            Point.fromLngLat(130.568034579075, 33.5793492809515),
            Point.fromLngLat(130.568064483185, 33.5791633172039),
            Point.fromLngLat(130.568245803347, 33.5790611019002),
            Point.fromLngLat(130.568411551626, 33.5789402121891),
            Point.fromLngLat(130.568599606822, 33.5788455742588),
            Point.fromLngLat(130.5687945884, 33.5787636659465),
            Point.fromLngLat(130.568977645571, 33.5786603746424),
            Point.fromLngLat(130.569139527205, 33.5785234782803),
            Point.fromLngLat(130.569272622929, 33.5783782084441),
            Point.fromLngLat(130.569462082561, 33.5782736496368),
            Point.fromLngLat(130.569661439084, 33.5782027332776),
            Point.fromLngLat(130.569845935695, 33.5781057671607),
            Point.fromLngLat(130.570043553624, 33.5780287421936),
            Point.fromLngLat(130.570217449357, 33.5779104561232),
            Point.fromLngLat(130.570413732276, 33.5778284967733),
            Point.fromLngLat(130.570619825014, 33.5777658356603),
            Point.fromLngLat(130.57079456912, 33.5776479250136),
            Point.fromLngLat(130.57098463035, 33.5775570098374),
            Point.fromLngLat(130.571200905267, 33.5775412032991),
            Point.fromLngLat(130.571416579281, 33.5775243188871),
            Point.fromLngLat(130.571601799953, 33.5774301356644),
            Point.fromLngLat(130.571725730391, 33.5772808235303),
            Point.fromLngLat(130.571915609652, 33.5771916693431),
            Point.fromLngLat(130.572118361052, 33.5771269087768),
            Point.fromLngLat(130.572333282533, 33.5771132476237),
            Point.fromLngLat(130.572542910148, 33.5770568986692),
            Point.fromLngLat(130.57276697833, 33.5770180248413),
            Point.fromLngLat(130.572933389757, 33.5768944011695),
            Point.fromLngLat(130.57308675176, 33.5767665177698),
            Point.fromLngLat(130.573230062857, 33.5766268268719),
            Point.fromLngLat(130.573394903249, 33.5764982477102),
            Point.fromLngLat(130.573592124479, 33.5764197024653),
            Point.fromLngLat(130.573758618273, 33.576302903776),
            Point.fromLngLat(130.573912165347, 33.5761679404685),
            Point.fromLngLat(130.574018173131, 33.5760080697895),
            Point.fromLngLat(130.573970604607, 33.5758290302405),
            Point.fromLngLat(130.573851376244, 33.575671439125),
            Point.fromLngLat(130.573732328629, 33.5755178721917),
            Point.fromLngLat(130.573685213824, 33.5753373628903),
            Point.fromLngLat(130.573601837812, 33.5751640184978),
            Point.fromLngLat(130.573608403498, 33.5749803882341),
            Point.fromLngLat(130.573611520185, 33.5747971265318),
            Point.fromLngLat(130.573685998722, 33.5746276219603),
            Point.fromLngLat(130.573778583781, 33.57446197333),
            Point.fromLngLat(130.573889963585, 33.5742990088854),
            Point.fromLngLat(130.573985522688, 33.5741338382631),
            Point.fromLngLat(130.57406105601, 33.5739647514245),
            Point.fromLngLat(130.574119750225, 33.5737878859284),
            Point.fromLngLat(130.574113645272, 33.5736000081503),
            Point.fromLngLat(130.574031620743, 33.5734318365104),
            Point.fromLngLat(130.573955820679, 33.5732626950028),
            Point.fromLngLat(130.573968607801, 33.5730819274053),
            Point.fromLngLat(130.574014414275, 33.5729056209098),
            Point.fromLngLat(130.57412834558, 33.5727391610316),
            Point.fromLngLat(130.574225570186, 33.5725517573495),
            Point.fromLngLat(130.574329380165, 33.5723888758282),
            Point.fromLngLat(130.574261251078, 33.5722115689136),
            Point.fromLngLat(130.574231945209, 33.5720288812245),
            Point.fromLngLat(130.574344050368, 33.5718683748239),
            Point.fromLngLat(130.574446288864, 33.571708702715),
            Point.fromLngLat(130.574521891424, 33.5715382763198),
            Point.fromLngLat(130.574534200489, 33.5713575763167),
            Point.fromLngLat(130.574603745641, 33.5711805921056),
            Point.fromLngLat(130.574657824076, 33.5710014415441),
            Point.fromLngLat(130.57471006114, 33.5708194600933),
            Point.fromLngLat(130.574800712291, 33.5706536537295),
            Point.fromLngLat(130.574782556484, 33.5704728063439),
            Point.fromLngLat(130.574756175502, 33.5702889564656),
            Point.fromLngLat(130.574737136272, 33.5701085377754),
            Point.fromLngLat(130.574749818527, 33.5699249148313),
            Point.fromLngLat(130.57483665145, 33.5697587223163),
            Point.fromLngLat(130.57496603284, 33.5696080667495),
            Point.fromLngLat(130.57506875114, 33.5694471719905),
            Point.fromLngLat(130.575150202932, 33.5692788471699),
            Point.fromLngLat(130.575231394727, 33.5691081150695),
            Point.fromLngLat(130.575126487994, 33.5689481191954),
            Point.fromLngLat(130.575003736646, 33.5687944446891),
            Point.fromLngLat(130.574885956281, 33.5686352081451),
            Point.fromLngLat(130.574818487787, 33.568459809752),
            Point.fromLngLat(130.574853309783, 33.5682816957715),
            Point.fromLngLat(130.575008542442, 33.5681458086425),
            Point.fromLngLat(130.575211051427, 33.5680587764263),
            Point.fromLngLat(130.575401808147, 33.5679649190357),
            Point.fromLngLat(130.575596546635, 33.5678787976222),
            Point.fromLngLat(130.57579289144, 33.5677922343271),
            Point.fromLngLat(130.575983224893, 33.5677051710726),
            Point.fromLngLat(130.576166079728, 33.5676065256791),
            Point.fromLngLat(130.576336600083, 33.5674961381364),
            Point.fromLngLat(130.576539568235, 33.5674339410684),
            Point.fromLngLat(130.576715268323, 33.5673156385024),
            Point.fromLngLat(130.576916774922, 33.5672422394605),
            Point.fromLngLat(130.577139533116, 33.5672402067292),
            Point.fromLngLat(130.577355249044, 33.567232130765),
            Point.fromLngLat(130.577573252916, 33.5672254137647),
            Point.fromLngLat(130.577653501684, 33.5670512054365),
            Point.fromLngLat(130.5777764744, 33.5668901654239),
            Point.fromLngLat(130.577944014478, 33.5667658597369),
            Point.fromLngLat(130.578138952316, 33.5666624265657),
            Point.fromLngLat(130.57830898182, 33.5665455246706),
            Point.fromLngLat(130.578478003829, 33.5664273982072),
            Point.fromLngLat(130.578584524832, 33.5662554468031),
            Point.fromLngLat(130.578741009881, 33.5661259549422),
            Point.fromLngLat(130.578881246569, 33.5659839096135),
            Point.fromLngLat(130.578995549562, 33.5658297668892),
            Point.fromLngLat(130.579193930545, 33.5657536308468),
            Point.fromLngLat(130.57934380626, 33.5656205835229),
            Point.fromLngLat(130.579433311193, 33.565456205661),
            Point.fromLngLat(130.579471365786, 33.5652767050448),
            Point.fromLngLat(130.57947109598, 33.5650911943904),
            Point.fromLngLat(130.57948242229, 33.5648971598896),
            Point.fromLngLat(130.579529188636, 33.5647167703325),
            Point.fromLngLat(130.579572315069, 33.5645273369358),
            Point.fromLngLat(130.579629516216, 33.5643475624161),
            Point.fromLngLat(130.579709881559, 33.5641759917546),
            Point.fromLngLat(130.579818194577, 33.5640150873643),
            Point.fromLngLat(130.579912524707, 33.563852701437),
            Point.fromLngLat(130.580044468274, 33.5637015669445),
            Point.fromLngLat(130.580149753653, 33.563529371351),
            Point.fromLngLat(130.580192362459, 33.5633425226791),
            Point.fromLngLat(130.580293615372, 33.5631811761041),
            Point.fromLngLat(130.580362209611, 33.5630084336133),
            Point.fromLngLat(130.580412120126, 33.5628314555539),
            Point.fromLngLat(130.580483431477, 33.5626537548639),
            Point.fromLngLat(130.580558643541, 33.5624775904165),
            Point.fromLngLat(130.580584975108, 33.562292997056),
            Point.fromLngLat(130.580688287422, 33.5621336191732),
            Point.fromLngLat(130.580863326713, 33.5620204793609),
            Point.fromLngLat(130.58097463568, 33.561860982911),
            Point.fromLngLat(130.581008686342, 33.5616748572767),
            Point.fromLngLat(130.581072710526, 33.5614998146371),
            Point.fromLngLat(130.581049615038, 33.5613190451076),
            Point.fromLngLat(130.580952762912, 33.5611489236259),
            Point.fromLngLat(130.580934762792, 33.5609661109288),
            Point.fromLngLat(130.580921939237, 33.5607845420538),
            Point.fromLngLat(130.580913092678, 33.5606013732671),
            Point.fromLngLat(130.580856807296, 33.5604219197198),
            Point.fromLngLat(130.580869937579, 33.5602348826971),
            Point.fromLngLat(130.580663604912, 33.5601630271074),
            Point.fromLngLat(130.580593795497, 33.5599920862003),
            Point.fromLngLat(130.580524655333, 33.5598139050141),
            Point.fromLngLat(130.580554575355, 33.5596235926683),
            Point.fromLngLat(130.580559067232, 33.5594367002068),
            Point.fromLngLat(130.580608767555, 33.5592598922013),
            Point.fromLngLat(130.580601371901, 33.5590760086987),
            Point.fromLngLat(130.580575635354, 33.5588965965694),
            Point.fromLngLat(130.580643263239, 33.5587213491335),
            Point.fromLngLat(130.580688673608, 33.5585368151588),
            Point.fromLngLat(130.580825582498, 33.5583927303616),
            Point.fromLngLat(130.580968072255, 33.5582466302957),
            Point.fromLngLat(130.581092615916, 33.5580887805655),
            Point.fromLngLat(130.58123348417, 33.5579462113108),
            Point.fromLngLat(130.581369775037, 33.5577869351432),
            Point.fromLngLat(130.581513844994, 33.5576478524585),
            Point.fromLngLat(130.58166780493, 33.5575206152184),
            Point.fromLngLat(130.581835414785, 33.5574016378664),
            Point.fromLngLat(130.58196601429, 33.557256687648),
            Point.fromLngLat(130.58214537059, 33.5571517650952),
            Point.fromLngLat(130.582234609189, 33.5569856616853),
            Point.fromLngLat(130.582376132593, 33.5568466634593),
            Point.fromLngLat(130.58248513415, 33.556687150087),
            Point.fromLngLat(130.582557475661, 33.5565109479088),
            Point.fromLngLat(130.582709655028, 33.5563814347375),
            Point.fromLngLat(130.582831503502, 33.5562306412037),
            Point.fromLngLat(130.582969331818, 33.5560919044392),
            Point.fromLngLat(130.583133837145, 33.5559705341973),
            Point.fromLngLat(130.583308188507, 33.5558593105262),
            Point.fromLngLat(130.583252853734, 33.555681944327),
            Point.fromLngLat(130.583383473702, 33.5555305134581),
            Point.fromLngLat(130.583510104368, 33.555373572864),
            Point.fromLngLat(130.583698967508, 33.5552813240939),
            Point.fromLngLat(130.583881949544, 33.5551707838174),
            Point.fromLngLat(130.58408926681, 33.5551091498557),
            Point.fromLngLat(130.583888811981, 33.5551967143646),
            Point.fromLngLat(130.583721736677, 33.5553244749582),
            Point.fromLngLat(130.583554063393, 33.5554446192627),
            Point.fromLngLat(130.583391482946, 33.5555727268553),
            Point.fromLngLat(130.583342691753, 33.5557536343492),
            Point.fromLngLat(130.583480662932, 33.5556150832322),
            Point.fromLngLat(130.58368896043, 33.5555686714951),
            Point.fromLngLat(130.583490485807, 33.5556407253575),
            Point.fromLngLat(130.583357073272, 33.5557843656432),
            Point.fromLngLat(130.583389221051, 33.5555993506656),
            Point.fromLngLat(130.583516216161, 33.5554431991199),
            Point.fromLngLat(130.5836673521, 33.5553011707672),
            Point.fromLngLat(130.583835315297, 33.5551852410417),
            Point.fromLngLat(130.583995983387, 33.5550525878284),
            Point.fromLngLat(130.583937494139, 33.5548773013379),
            Point.fromLngLat(130.583845216563, 33.554706481253),
            Point.fromLngLat(130.583802989539, 33.5545272128966),
            Point.fromLngLat(130.583621455852, 33.5546258087246),
            Point.fromLngLat(130.583404545807, 33.5546275528918),
            Point.fromLngLat(130.583223526813, 33.5545233184886),
            Point.fromLngLat(130.583022195684, 33.5544348775611),
            Point.fromLngLat(130.582817867325, 33.5543763909665),
            Point.fromLngLat(130.582601123173, 33.554362651137),
            Point.fromLngLat(130.582413021383, 33.5542671346132),
            Point.fromLngLat(130.582211442815, 33.5541886069016),
            Point.fromLngLat(130.582000566314, 33.554146481187),
            Point.fromLngLat(130.581784711261, 33.5541358680442),
            Point.fromLngLat(130.581574472883, 33.554087786736),
            Point.fromLngLat(130.581360079744, 33.5540499501808),
            Point.fromLngLat(130.581146136699, 33.5540266040503),
            Point.fromLngLat(130.58094259439, 33.5539454679339),
            Point.fromLngLat(130.580745317941, 33.5538613421792),
            Point.fromLngLat(130.580605689017, 33.5537198810831),
            Point.fromLngLat(130.580470058815, 33.5535675672561),
            Point.fromLngLat(130.580372472082, 33.5533929021405),
            Point.fromLngLat(130.580203526159, 33.553274084749),
            Point.fromLngLat(130.580013394534, 33.5531873528878),
            Point.fromLngLat(130.57980893314, 33.5531289137578),
            Point.fromLngLat(130.579618173834, 33.5530352766811),
            Point.fromLngLat(130.579437555558, 33.5529368444669),
            Point.fromLngLat(130.579284095786, 33.5528076668077),
            Point.fromLngLat(130.579183554695, 33.5526421951156),
            Point.fromLngLat(130.57906799037, 33.5524857730803),
            Point.fromLngLat(130.578953312157, 33.5523263988253),
            Point.fromLngLat(130.578871378697, 33.5521595692977),
            Point.fromLngLat(130.578829113097, 33.5519789887462),
            Point.fromLngLat(130.578820222846, 33.5517933963679),
            Point.fromLngLat(130.578818646812, 33.5516082642536),
            Point.fromLngLat(130.578773611294, 33.551428868367),
            Point.fromLngLat(130.578752308623, 33.5512489356991),
            Point.fromLngLat(130.578687451246, 33.5510744174371),
            Point.fromLngLat(130.57866458984, 33.5508843203214),
            Point.fromLngLat(130.5785234409, 33.5507446305289),
            Point.fromLngLat(130.578368564608, 33.5506162361873),
            Point.fromLngLat(130.578239712786, 33.5504711771003),
            Point.fromLngLat(130.578051461237, 33.5503645095174),
            Point.fromLngLat(130.577910052575, 33.5502262618473),
            Point.fromLngLat(130.577823807642, 33.5500520636473),
            Point.fromLngLat(130.577730244668, 33.5498828933864),
            Point.fromLngLat(130.577613348762, 33.5497216899268),
            Point.fromLngLat(130.577417107196, 33.5496186272861),
            Point.fromLngLat(130.577297236486, 33.5494621495071),
            Point.fromLngLat(130.577214332057, 33.5492911778612),
            Point.fromLngLat(130.577091599197, 33.549141951993),
            Point.fromLngLat(130.577053869192, 33.5489573431173),
            Point.fromLngLat(130.577007439316, 33.5487732713297),
            Point.fromLngLat(130.576910042355, 33.5486032319932),
            Point.fromLngLat(130.576850089009, 33.5484287681554),
            Point.fromLngLat(130.576787422241, 33.5482468658307),
            Point.fromLngLat(130.576698058114, 33.5480791207204),
            Point.fromLngLat(130.576604722627, 33.5479148382919),
            Point.fromLngLat(130.576487768846, 33.5477580795257),
            Point.fromLngLat(130.576470811899, 33.5475720580712),
            Point.fromLngLat(130.576375708401, 33.5474070135628),
            Point.fromLngLat(130.57619301131, 33.5473104712807),
            Point.fromLngLat(130.576069734293, 33.5471555800322),
            Point.fromLngLat(130.57602099539, 33.5469794991266),
            Point.fromLngLat(130.575957702478, 33.5468053409038),
            Point.fromLngLat(130.57588864013, 33.5466242302217),
            Point.fromLngLat(130.575845117193, 33.5464439323559),
            Point.fromLngLat(130.575737467081, 33.5462818225549),
            Point.fromLngLat(130.575708076271, 33.5460949588721),
            Point.fromLngLat(130.575638103376, 33.5459227859487),
            Point.fromLngLat(130.575623453087, 33.5457412784968),
            Point.fromLngLat(130.575541497748, 33.5455703991035),
            Point.fromLngLat(130.575522427788, 33.5453872391118),
            Point.fromLngLat(130.575464186406, 33.5452095926322),
            Point.fromLngLat(130.575388208723, 33.5450345830623),
            Point.fromLngLat(130.575339037404, 33.5448473760617),
            Point.fromLngLat(130.575271201289, 33.544674941333),
            Point.fromLngLat(130.575193976165, 33.5445036823196),
            Point.fromLngLat(130.575064227523, 33.5443597003628),
            Point.fromLngLat(130.574967775737, 33.5441964288958),
            Point.fromLngLat(130.57490477707, 33.5440161001504),
            Point.fromLngLat(130.574913879649, 33.5438306164648),
            Point.fromLngLat(130.574786806502, 33.5436831429504),
            Point.fromLngLat(130.574748974231, 33.5436471775215),
            Point.fromLngLat(130.574791053863, 33.5436607391544),
            Point.fromLngLat(130.574805109602, 33.5436809875352),
            Point.fromLngLat(130.57460544759, 33.5436088155741),
            Point.fromLngLat(130.574438255851, 33.5434868344684),
            Point.fromLngLat(130.57433850842, 33.5433258827044),
            Point.fromLngLat(130.574262421593, 33.5431540656621),
            Point.fromLngLat(130.574141135266, 33.5429812492307),
            Point.fromLngLat(130.573924495988, 33.5429467991028),
            Point.fromLngLat(130.573703796034, 33.542942721263),
            Point.fromLngLat(130.57348870663, 33.5429033807206),
            Point.fromLngLat(130.573299786406, 33.5428125659285),
            Point.fromLngLat(130.573119492358, 33.5427110390369),
            Point.fromLngLat(130.572905809749, 33.5426627255305),
            Point.fromLngLat(130.572747180935, 33.5425256359447),
            Point.fromLngLat(130.572577813448, 33.5424073312813),
            Point.fromLngLat(130.572404291669, 33.5422847166873),
            Point.fromLngLat(130.572187684469, 33.5422656380148),
            Point.fromLngLat(130.571973238557, 33.5422323145764),
            Point.fromLngLat(130.571759931968, 33.5421843925998),
            Point.fromLngLat(130.571718658735, 33.5420049389497),
            Point.fromLngLat(130.571902028491, 33.5419080671951),
            Point.fromLngLat(130.571872649468, 33.5417283980277),
            Point.fromLngLat(130.571765553515, 33.5415558715378),
            Point.fromLngLat(130.571766326091, 33.5413755320891),
            Point.fromLngLat(130.571608440064, 33.5412523488402),
            Point.fromLngLat(130.571543432573, 33.5410796413377),
            Point.fromLngLat(130.571393192935, 33.5409495996363),
            Point.fromLngLat(130.571224295011, 33.540827248772),
            Point.fromLngLat(130.571045648543, 33.5407124946198),
            Point.fromLngLat(130.570904930753, 33.5405720901401),
            Point.fromLngLat(130.570758685142, 33.5404294919033),
            Point.fromLngLat(130.570577300306, 33.5403293338008),
            Point.fromLngLat(130.570356825809, 33.5402736770112),
            Point.fromLngLat(130.570104123081, 33.5402106083213),
            Point.fromLngLat(130.570127741144, 33.5403054774444),
            Point.fromLngLat(130.570022659421, 33.5402943393236),
            Point.fromLngLat(130.569812452281, 33.5402449641986),
            Point.fromLngLat(130.569597392089, 33.5402158708279),
            Point.fromLngLat(130.569402018758, 33.5401381784917),
            Point.fromLngLat(130.569232867573, 33.540020571275),
            Point.fromLngLat(130.569023726348, 33.5399766105465),
            Point.fromLngLat(130.569121755762, 33.5398158461771),
            Point.fromLngLat(130.569024940745, 33.5396546926745),
            Point.fromLngLat(130.568804774468, 33.5396785460767),
            Point.fromLngLat(130.568772775341, 33.5394962517951),
            Point.fromLngLat(130.568814305519, 33.5393186818187),
            Point.fromLngLat(130.568822032052, 33.5391379767011),
            Point.fromLngLat(130.568953813222, 33.5389937710908),
            Point.fromLngLat(130.568954722378, 33.5388078708323),
            Point.fromLngLat(130.568916676508, 33.5386238641932),
            Point.fromLngLat(130.568848584561, 33.5384471472368),
            Point.fromLngLat(130.568678251675, 33.5383320965568),
            Point.fromLngLat(130.568459030143, 33.5382923257182),
            Point.fromLngLat(130.568286199382, 33.5381688093688),
            Point.fromLngLat(130.56821807476, 33.5379860453591),
            Point.fromLngLat(130.56809978448, 33.5378221829407),
            Point.fromLngLat(130.567998600901, 33.5376609958808),
            Point.fromLngLat(130.568026105195, 33.5374816176487),
            Point.fromLngLat(130.567870232135, 33.537345596315),
            Point.fromLngLat(130.567647600389, 33.5373197971737),
            Point.fromLngLat(130.567423233728, 33.5373202959535),
            Point.fromLngLat(130.567414949919, 33.5371228829251),
            Point.fromLngLat(130.567285046228, 33.5369769748932),
            Point.fromLngLat(130.567222673354, 33.5368000885936),
            Point.fromLngLat(130.567229842101, 33.5366184785338),
            Point.fromLngLat(130.567240449712, 33.5364374051795),
            Point.fromLngLat(130.567034649341, 33.5363679478021),
            Point.fromLngLat(130.566843891125, 33.5364823068303),
            Point.fromLngLat(130.566760755152, 33.5363156273305),
            Point.fromLngLat(130.566553179176, 33.5362510137546),
            Point.fromLngLat(130.566366819509, 33.5361547313493),
            Point.fromLngLat(130.566151598075, 33.5361372729275),
            Point.fromLngLat(130.565961223638, 33.5362222583697),
            Point.fromLngLat(130.565761039749, 33.5362901126793),
            Point.fromLngLat(130.565637317056, 33.5361363998363),
            Point.fromLngLat(130.565467668144, 33.5362476012267),
            Point.fromLngLat(130.565283659763, 33.5361531269822),
            Point.fromLngLat(130.565253979745, 33.5359702027593),
            Point.fromLngLat(130.565054204161, 33.5360439577808),
            Point.fromLngLat(130.564943482188, 33.5362022841766),
            Point.fromLngLat(130.564745139133, 33.536123013396),
            Point.fromLngLat(130.564538925625, 33.5361890506522),
            Point.fromLngLat(130.564491347689, 33.536011033588),
            Point.fromLngLat(130.564312595718, 33.5361144408557),
            Point.fromLngLat(130.564209624512, 33.5362754243303),
            Point.fromLngLat(130.563993270736, 33.5362284661595),
            Point.fromLngLat(130.563860503377, 33.5363711331976),
            Point.fromLngLat(130.563637380765, 33.5364104414472),
            Point.fromLngLat(130.563415985425, 33.5364505131665),
            Point.fromLngLat(130.563200814564, 33.5365075009957),
            Point.fromLngLat(130.562984424062, 33.5365589267094),
            Point.fromLngLat(130.562823849863, 33.5364172209253),
            Point.fromLngLat(130.562748132489, 33.5362416907693),
            Point.fromLngLat(130.562636597969, 33.5360806189152),
            Point.fromLngLat(130.562594568324, 33.5359037550372),
            Point.fromLngLat(130.562406993164, 33.5359940383324),
            Point.fromLngLat(130.562188772616, 33.5359307686697),
            Point.fromLngLat(130.56197414333, 33.5359039409347),
            Point.fromLngLat(130.561877058924, 33.5357402959669),
            Point.fromLngLat(130.561692443077, 33.5356442860788),
            Point.fromLngLat(130.56153919216, 33.5355105503122),
            Point.fromLngLat(130.561368439115, 33.535399243794),
            Point.fromLngLat(130.561176365659, 33.5353122200344),
            Point.fromLngLat(130.561034458896, 33.5351649611045),
            Point.fromLngLat(130.560877651308, 33.5350347445237),
            Point.fromLngLat(130.56070832166, 33.5349194857944),
            Point.fromLngLat(130.560550751925, 33.5347824805995),
            Point.fromLngLat(130.560343416123, 33.5347330983815),
            Point.fromLngLat(130.560202280289, 33.5345935301077),
            Point.fromLngLat(130.560031780793, 33.5344683019573),
            Point.fromLngLat(130.559849979104, 33.5343669556262),
            Point.fromLngLat(130.559661744331, 33.5342711454646),
            Point.fromLngLat(130.559447183703, 33.5342245408634),
            Point.fromLngLat(130.559225753046, 33.5341680698896),
            Point.fromLngLat(130.559004326909, 33.5341500790071),
            Point.fromLngLat(130.558910048572, 33.5339870435267),
            Point.fromLngLat(130.558810496251, 33.5338242682147),
            Point.fromLngLat(130.558621914357, 33.5337353869496),
            Point.fromLngLat(130.558484252725, 33.533586024801),
            Point.fromLngLat(130.558304456262, 33.5336877775916),
            Point.fromLngLat(130.558110147457, 33.5337892512006),
            Point.fromLngLat(130.557920967473, 33.5338754215238),
            Point.fromLngLat(130.557712755558, 33.5339213909684),
            Point.fromLngLat(130.55748748136, 33.5339550503732),
            Point.fromLngLat(130.557322602032, 33.5340766759822),
            Point.fromLngLat(130.557075099648, 33.5340287444579),
            Point.fromLngLat(130.556864642949, 33.5339800199696),
            Point.fromLngLat(130.556650847679, 33.5339212896235),
            Point.fromLngLat(130.556528335051, 33.5337703805589),
            Point.fromLngLat(130.556342003693, 33.5336781517033),
            Point.fromLngLat(130.556141244095, 33.5336080430526),
            Point.fromLngLat(130.555921441203, 33.5335430485565),
            Point.fromLngLat(130.555726983947, 33.5334337085835),
            Point.fromLngLat(130.555543579931, 33.5333388894724),
            Point.fromLngLat(130.555486493435, 33.5331628188166),
            Point.fromLngLat(130.555429168521, 33.5329878737203),
            Point.fromLngLat(130.555370833481, 33.5328096301899),
            Point.fromLngLat(130.555264817136, 33.532640030623),
            Point.fromLngLat(130.555198207691, 33.5324671262159),
            Point.fromLngLat(130.555112012869, 33.5322914227216),
            Point.fromLngLat(130.555036691021, 33.5321114631182),
            Point.fromLngLat(130.554910388752, 33.5319601202094),
        )
    }
}
```
</div></detail>

軌跡のライン表示は標高のデータは設定しなくても緯度・経度のデータのみで良い感じに表示してくれるようである

デモ動画（若杉山、三郡山、宝満山縦走）
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141937/e03fa8b8-e09e-c32e-048e-0ddf4993ee94.gif)

SKY_LAYERを追加することで空を追加できる。太陽の位置の調整もできるもよう

```kotlin
                ...
                +skyLayer(SKY_LAYER) {
                    skyType(SkyType.GRADIENT)
                    skyAtmosphereSun(listOf(-50.0, 90.2))
                }
                ...
```

2本指で操作することでカメラの pitch や bearing を調整できる
![output2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141937/14a5b060-4e05-2744-5fb1-34f4e442f325.gif) ![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141937/ab566128-371c-06bd-180a-5b8eb0b3046e.gif) ![output3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141937/2edd4db8-086d-ede8-7f3c-b74641f12611.gif)


## まとめ
ひとまず Mapbox Mobile Maps SDK v10 を使って 3Dマップの表示ができた :ok_woman:
プロダクトに投入するにはまだライブラリが不安定な部分もあるようなので beta が外れるのを待った方が良さそう。v10 へのマイグレションも結構大変そうで、ネット上の技術記事が増えてから取り組んだ方が間違いが少ないような気がする