es-kumagai / SafariSkyticketToCalendarExtension

This is a Safari Extension that generate iCalendar from skyticket's reservation detail page in Japanese.
0 stars 0 forks source link

iCalendar を macOS で取り込んだ時に地図が #1

Open es-kumagai opened 5 years ago

es-kumagai commented 5 years ago

この拡張で iCalendar を取り込んだ時に、カレンダーに地図が表示されない様子です。

以前に作成したブックマークレット https://github.com/es-kumagai/Bookmarklet.ToyokoInnToCalendar では地図が表示されますが、それが生成した iCalendar ファイルと今回のとで差異がわからない状況です。

なお、いったんカレンダーに取り込んで、所在地を入力し直して地図が表示されるようになったデータを iCalendar ファイルに書き出すと、次のようなヘッダーが LOCATION とは別に追加されています。

X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-APPLE-MAPKIT-HANDLE=CAESwQEIrk0Q
 25bUss6K5dS9ARoSCYfHSavMZEVAEf///1PGtWFAIlsKBuaXpeacrBICSlAaCeWMl+a1t+mB
 kzIJ5Y2D5q2z5biCOggwNjYtMDAxMkIG576O44CFUgbnvo7jgIVaBjk4Ny0yMmIM576O44CF
 OTg3LTIyigEG576O44CFKg/mlrDljYPmrbPnqbrmuK8yC+OAkjA2Ni0wMDEyMhLljJfmtbfp
 gZPljYPmrbPluIIyDOe+juOAhTk4Ny0yMjgr;X-APPLE-RADIUS=141.1749295876371;X-
 TITLE="新千歳空港\n〒066-0012, 北海道千歳市, 美々987-22":geo:42.787496,141.680460
es-kumagai commented 5 years ago

LOCATION に指定した住所による様子でした。

たとえば 北海道札幌市北区北6条西1-5 なら表示されますけれど、ここを 北海道札幌市北区北6条西1-3 にすると表示されません。この2件に限ればマップアプリで検出されるかどうかに一致したので、試しに 北海道千歳市美々987-22 を地図アプリで検索したら出てきた 美々987-22 で試してみましたが、地図には表示されないようです。

es-kumagai commented 5 years ago

地図を表示させる鍵になる X-APPLE-STRUCTURED-LOCATIONX-APPLE-MAPKIT-HANDLE がなくても X-APPLE-RADIUS, TITLE, geo さえ情報に含まれていて、ここの TITLELOCATION の値とが一致すれば、地図を表示できそうなことがわかりました。カンマの扱いは、引用符で括られた TITLE の中ではそのままで、括られていない LOCATION では \ でエスケープすることになる様子です。

X-APPLE-STRUCTURED-LOCATION;VALUE=URI;
 X-APPLE-RADIUS=141.1749295876371;X-
 TITLE="新千歳空港\n〒066-0012, 北海道千歳市, 美々987-22":geo:42.787496,141.680460
LOCATION:新千歳空港\n〒066-0012\, 北海道千歳市\, 美々987-22