smellman's Broken Diary

クソみたいなもんです

地理院地図のソースコードを盛大にパクってLeafletのプラグインを作った

地理院地図に中心十字線っていうのがあるんだけど、お客さんからこれと同じものがあると嬉しいと言われて、だったらプラグイン化してしまえばイイのではと思ってやってみた。

github.com

Markerの実装を変えたり、わざわざimageディレクトリの位置を検出するのが面倒なので画像をBase64化したりしましたが、まぁいちおうLeaflet 0.7.5とLeaflet 1.0 beta1で動作確認して上手く動いたのでアップした。
コミットログが雑すぎるが、本当に初回のコミットなので仕方がない...

結構この中心十字線って便利だとは思うのでぜひ使ってみるもしくは弊社に仕事ください。

追記

何を思ったのかいきなりFactoryの実装を変更したりしています。
元々の実装がILayerっぽく出せなかったので仕方なくっていう感じです。
おかげで実装の見通しがよくなったので満足はしている。

mapbox-gl-native for ios で地理院地図を表示してみる

シミュレータの段階ですが、なんかできた。

手順はざっくり言うと以下でOKだった。

  1. xcodeで適当なSingle View Applicationを作成(今回はmapboxsdktestという名前で作った。雑だ)
  2. Podfileを作成して pod install を実行する。(参照)
  3. mapboxsdktest.xcworkspaceを開く
  4. Settings.bundle をプロジェクトに入れる。(参照)
  5. 地理院地図のタイルサーバはHTTPだけでしか配布してないのでApp Transport Securityを追加する(ios9以降)
  6. Mapbox GL Style Spec に沿ったjsonファイルを作成する。
  7. Viewにコードを書く。

ATSはこんな感じのものを書きます。

        <key>NSAppTransportSecurity</key>
        <dict>
                <key>NSExceptionDomains</key>
                <dict>
                        <key>cyberjapandata.gsi.go.jp</key>
                        <dict>
                                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                                <true/>
                        </dict>
                </dict>
        </dict>

jsonはこんな感じです。


raster for gsi

gistに貼っておけばrawでアクセス可能になってとても便利です。

最後にViewController.swiftを以下のようにします。


ViewController.swift for gsimap with mapbox-gl-nat ...

ビルドするとこんな感じになります。

f:id:smellman:20150920065617p:plain

でかすぎてなにがなんだかわかりません!!!!