Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
mmj001
Search
Haruki Inoue
August 14, 2024
0
190
mmj001
公開用
Haruki Inoue
August 14, 2024
Tweet
Share
More Decks by Haruki Inoue
See All by Haruki Inoue
MapLibre SwiftUIを使ってGPSトラッキングアプリを作ってみた
kyotonagoya
0
31
Indoor Mapping Data Format を使った屋内フロアマップの表示
kyotonagoya
0
210
Hello Global! 来年 FOSS4G Global が日本に上陸!!
kyotonagoya
0
13
都電LT#000 発表資料
kyotonagoya
0
230
Seminar_QGIS_QField.pdf
kyotonagoya
0
14
OSSを使って「自分の地図」を更新してみよう! (QGIS・QField連携入門)
kyotonagoya
0
43
[FOSS4G 2023 Japan] スマホアプリの地図表示における第三の選択肢 MapLibre Native を使ってみる
kyotonagoya
1
310
[FOSS4G TOKAI 2023 LT] みんな名古屋駅からどこに降りているのか?大都市交通センサスを使って見てみる
kyotonagoya
2
1k
スマホアプリで位置情報を取得してみよう(iOS成分多め)
kyotonagoya
1
850
Featured
See All Featured
Designing for Performance
lara
610
69k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Thoughts on Productivity
jonyablonski
72
4.9k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Designing for humans not robots
tammielis
254
26k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Unsuck your backbone
ammeep
671
58k
How to Think Like a Performance Engineer
csswizardry
27
2.2k
Transcript
.BQ-JCSF/BUJWFͱ6TFS-PDBUJPO )BSVLJ*OPVF .BQ-JCSF.FFUVQ+BQBO
ࣗݾհ Ҫ্ك)BSVLJ*OPVF 5XJUUFS!LZPUPOBHPZB ৬ۀJ04ΞϓϦΤϯδχΞͨ·ʹ8FC ग़Ѫݝ๛ڮࢢ ډॅઍ༿ݝྲྀࢁࢢ झຯిंόεʹΔ 04(FP+1ͷӡӦҕһ
࠷ۙͷ.BQ-JCSF/BUJWFͷಈ ݄̎̌̎̐̍ʹW͕ϦϦʔε J04 Α͘ΈΔͱࢲͷੜ
Կ͕มΘͬͨͷ͔ 🎉ਤϨϯμϦϯά͕.FUBMʹରԠʂ w 0QFO(-ʹมΘΔ৽ͨͳ$("1* w ैདྷͷ"1*ͱൺֱͯ͠ύϑΥʔϚϯε্
Կ͕มΘͬͨͷ͔ ϑΝΠϧɾΫϥεɾ໊͕ؔେ͖͘มߋ w ҎલMGLMapView()ͱએݴ w ࠓޙMLNMapView()ͱએݴ ഁյతมߋ͕ೖ͍ͬͯΔͨΊҙ͕ඞཁ "OESPJEW͔Βมߋ༧ఆ
Կ͕มΘͬͨͷ͔ ϥΠϒϥϦͷ*NQPSUͷهड़มߋ w Ҏલimport Mapboxͱએݴ w ࠓޙimport MapLibreͱએݴ "OESPJEW͔Βมߋ༧ఆ
.BQ-JCSF/BUJWFͷηοτΞοϓํ๏ ϥΠϒϥϦͷΠϯετʔϧͷྲྀΕগ͠มߋ ࠷৽ͷϑϩʔΛ2JJUBʹهࣄΛॻ͖·ͨ͠✍
.BQ-JCSF/BUJWFͰҐஔใΛදࣔ
ϞόΠϧΞϓϦͷར w (14ɾ8J'J͔ΒϢʔβʔͷҐஔใΛऔಘ w Ͳ͜Ͱ࣋ͪӡͿ͜ͱ͕Ͱ͖Δ ➡ʮࠓ͍Δॴͷใʯ͕࠷େݶʹൃشͰ͖Δ w ͓Ͱ͔͚ઌपลͷӍӢϨʔμʔΛݟΔ w త·Ͱͷܦ࿏ΛφϏήʔγϣϯ
ϞόΠϧΞϓϦͰҐஔใΛऔಘ w J04$--PDBUJPO.BOBHFS w "OESPJE'VTFE-PDBUJPO1SPWJEFS$MJFOU IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPODPSFMPDBUJPO
.BQ-JCSF/BUJWFͰҐஔใΛදࣔ ͜ͷ੨͍ .BQ-JCSF/BUJWF J04 Ͱ ݁ߏ؆୯ʹද͕ࣔͰ͖Δ
.BQ-JCSF/BUJWFͰҐஔใΛදࣔ͢Δ·ͰͷྲྀΕ 1SJWBDZ-PDBUJPO8IFOJO6TF6TBHF%FTDSJQUJPOΛ༗ޮԽ NBLF6*7JFXʹTIPXT6TFS-PDBUJPOΛ༗ޮԽ 'JHJOGPQMJTUͰͷઃఆ ΞϓϦ͕ϑΥΞάϥϯυͷͱ͖ʹ ҐஔใΛऔಘ͢Δ͔ʁ ͜ΕΛUSVFʹ͢Δ 'JH.BQ7JFXͷιʔείʔυ
Ґஔใ͕ߋ৽͞Εͨͱ͖ͷॲཧ NBQ7JFX @NBQ7JFXEJE6QEBUFVTFS-PDBUJPO Ͱఆٛ .-/.BQ7JFX%FMFHBUF ͜ͷؔతʹϚοϓؔ࿈ͷॲཧʹཹΊͨ΄͏͕ྑͦ͞͏
ΞϓϦىಈ࣌ 5BQ Ґஔใ͕දࣔ͞ΕΔ $--PDBUJPO.BOBHFSΛ ಠࣗͰఆٛ͠ͳͯ͘0, .BQ-JCSFͷϥΠϒϥϦͷதͰ -PDBUJPO.BOBHFS͕ఆٛ͞Ε͍ͯΔ
؆୯ͳαϯϓϧࣄྫ
γΣΞαΠΫϧͷΓΛදࣔ͢ΔΞϓϦ )&--0$:$-*/(ͷ γΣΞαΠΫϧͷΦʔϓϯσʔλ͔Β ݱࡏपลͷΓΛਤ্ʹදࣔ
ॲཧͷྲྀΕ γΣΞαΠΫϧͷใΛ(#'4ܗࣜͷ+40/Ͱऔಘ औಘͨ͠σʔλ͔Β'FBUVSFTͷ࡞ ιʔεɾϨΠϠʔΛઃఆ ιʔεͱϨΠϠʔΛ.BQ-JCSFʹө
γΣΞαΠΫϧͷใΛऔಘ (#'4ܗࣜͰ৴͞Ε͍ͯΔγΣΞαΠΫϧͷใΛ'FUDI TUBUJPO@JOGPSNBUJPOͱTUBUJPO@TUBUVTͷ̎ͭΛ༻ ۩ମతͳ௨৴ͷॲཧলུ͠·͕͢@PublishedͰऔಘ݁ՌΛอ࣋ TUBUJPO@JOGPSNBUJPOͷ1SPWJEFS TUBUJPO@TUBUVTͷ1SPWJEFS
γΣΞαΠΫϧͷใΛऔಘ 4XJGU6*ͷ.taskʮߋ৽ʯϘλϯΛԡͨ࣌͠ʹσʔλͷऔಘΛ͢Δ 'JH.taskͰͷσʔλऔಘॲཧ 'JHϘλϯΛԡͨ͠ͱ͖ͷऔಘॲཧ
औಘͨ͠σʔλ͔Β'FBUVSFTͷ࡞ औಘͨ͠σʔλ(FP+40/Ͱͳ͍ͨΊ'FBUVSFTΛఆٛ͢Δ ݱࡏ͔ΒLNҎ্ͷ߹දࣔ͠ͳ͍ ͯ͢ͷใΛҰʹॲཧ͢Δͱ දࣔ·Ͱͷ͕࣌ؒͱ͔͔ͯΔ σʔλΛߜΓࠐΈ͢Δͷ ͕ඞཁͱͳΔ wදࣔσʔλͷϑΟϧλϦϯά wදࣔσʔλͷΩϟογϡ wॏ͍ϨΠϠʔʹ͠ͳ͍
ιʔεɾϨΠϠʔΛ࡞ Ϛοϓʹදࣔͤ͞ΔͨΊʹιʔεɾϨΠϠʔΛ࡞ʢؔͰఆٛʣ ιʔεͷ࡞ ࡞ͨ͠'FBUVSFTΛجʹ MLNShapeSourceͰιʔεΛ࡞ ϨΠϠʔͷ࡞ ·ͨstyle.addSource()Ͱ .BQ-JCSFͷਤʹιʔεΛө
ϨΠϠʔΛ.BQ-JCSFʹө ϚοϓͷϩʔσΟϯάޙʹιʔεͱϨΠϠʔΛఆٛ γΣΞαΠΫϧͷσʔλ͕ߋ৽͞Εͨͱ͖ Tource.shapeΛॻ͖͑Δ͜ͱʹΑΓ ߋ৽ޙͷγΣΞαΠΫϧͷσʔλʹॻ͖͑Δ $PPSEJOBUPSͷதͳͷͰ Dontrol.createFeatureͰݺͼग़͠
࣮ߦͯ͠ΈΔ ʹԠͯ͡ԁͷ৭͕มԽ ߋ৽ϘλϯΛԡ͢ͱσʔλ͕ߋ৽ ݱࡏपลͷγΣΞαΠΫϧͷΓΛදࣔ
·ͱΊɾॴײ w J04ͰW͔Βؔͷ໊લͳͲ͕มߋ w Ϛοϓ্ͷҐஔใදࣔ.BQ-JCSF୯ମͰՄೳ w Ґஔใ͕ߋ৽͞Εͨ࣌ͷॲཧ%FMFHBUFͰهड़Ͱ͖Δ w ݱࡏपลͷγΣΞαΠΫϧͷΓΛදࣔ͢Δαϯϓϧ w
/BUJWFͷެࣜυΩϡϝϯτ͕ݹ͍߹͕͋Δ w 8FC൛ʹ͋ͬͯ/BUJWFʹͳ͍͕ؔ͋Δ ޙɺ2JJUBʹهࣄΛ·ͱΊ·͢