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
29
Indoor Mapping Data Format を使った屋内フロアマップの表示
kyotonagoya
0
150
Hello Global! 来年 FOSS4G Global が日本に上陸!!
kyotonagoya
0
11
都電LT#000 発表資料
kyotonagoya
0
230
Seminar_QGIS_QField.pdf
kyotonagoya
0
14
OSSを使って「自分の地図」を更新してみよう! (QGIS・QField連携入門)
kyotonagoya
0
42
[FOSS4G 2023 Japan] スマホアプリの地図表示における第三の選択肢 MapLibre Native を使ってみる
kyotonagoya
1
310
[FOSS4G TOKAI 2023 LT] みんな名古屋駅からどこに降りているのか?大都市交通センサスを使って見てみる
kyotonagoya
2
1k
スマホアプリで位置情報を取得してみよう(iOS成分多め)
kyotonagoya
1
840
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
The Cult of Friendly URLs
andyhume
79
6.6k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
900
Designing for humans not robots
tammielis
254
26k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Navigating Team Friction
lara
189
15k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
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ʹهࣄΛ·ͱΊ·͢