Linuxデバイス向けの地図ナビソフトを探しているなら、Pure Mapsを試してみてください。
Pure Mapsはエストニアの開発者rinigusが作ったナビアプリです。GNOME Mapsと同じくOpenStreeMapsの地図データを使いますが、機能はより充実していて、インターフェイスもスマホ向きです。中国語対応もまあまあです。
元作者はSailfishOS向けに設計しましたが、postmarketOS、Ubuntu touch、Mobianなど、ほかのスマホLinuxシステムでも使えます。
地図は主にGPSナビに依存するため、Linuxデバイスには4Gモジュールが載っていないと使えません。テストした限り、PinePhone、Librem 5、Poco F1はいずれもPureMapsを利用できました。
Pure MapsはOSM Scout Serverのオフライン地図にも対応しています。
1. LinuxのGPS信号による測位をテストする#
PureMapsは複数の測位方式に対応しています。4Gモジュールが提供するGPSがなくてもMozilla MLSのWifi測位に頼れますが、かなりズレます。なので、やはりGPSを使いましょう。
ハードウェア面では、スマホのWifiとGPSが正常である必要があります。たとえばPinePhoneはGNSS、Wifi、磁力計による測位補助を提供しています。通常、スマホのGPSはSIMカードを挿入しないと動作を始めません。
- 多くのLinuxにはModemManagerサービスがあり、付属のmmcliツールでGPS信号をテストできます。まずサービスを有効化します:
sudo mmcli -m any --location-enable-gps-nmea
sudo mmcli -m any --location-enable-gps-raw- 現在の地理位置情報の取得を試します:
sudo mmcli -m any --location-getGNOME系のデスクトップを使っている場合は、システム設定、プライバシーに進み、アプリによるGPSサービスの利用を許可してください。

位置情報の取得にGeoClueサービスへ依存するものもあります。ネイティブのパッケージマネージャーでインストールしてください:
# Mobian
sudo apt install geoclue
sudo systemctl enable geoclue
# postmarketOS
sudo apk add geoclue
/usr/libexec/geoclue-2.0/demos/agent &- もう一つのアプリ Stellite をインストールしてGPS信号をテストします。このアプリは、ほかのアプリがGPSを使っているときに衛星状態を表示します。

2. Pure Mapsをインストールする#
Pure MapsはFlathubから入手でき、x86とARMアーキテクチャに対応しています。
- 先にFlatpakリポジトリを設定し、その後Flatpakからインストールします。
flatpak install flathub io.github.rinigus.PureMapsPure Mapsには複数の地図データを選べます。デフォルトのMapTilesで十分よく、大部分の中国語住所も表示できます。

ナビ先を検索する場合は、右上を押して検索サービスプロバイダーを切り替え、中国語検索の対応が比較的よいOpenCageに変更してください。

住所検索の結果は英語ですが、位置はおおむね正確で、目的地までのナビも成功します。音声合成は英語のみです。

3. オフライン地図OSM Scout Serverを設定する#
このサービスはPure Mapsにオフライン地図データを提供できます。住所検索時の中国語対応も比較的まともです。
- FlatpakでOSM Scout Serverをインストールします。
flatpak install flathub io.github.rinigus.OSMScoutServerアプリを開き、設定ファイルはデフォルトのProfileを選び、左側メニューのMap Managerで必要なファイルをダウンロードします。

さらにProvided Maps → Subscribeをクリックし、台湾地図を選んでダウンロードします。

Pure Mapsを開き、モードでOffilineを選択します。これでOSM Scout Serverの地図を読み込むようになります。

Pure Mapsが検索リクエストを送信すると、OSM Scout Server側にメッセージが出るはずです。


