このアプリは現在地情報の強制変更を行う、シンプルな開発者向けアプリです。
ジオ系アプリの開発で、実際に移動を行わなくても、移動中の位置情報に関する動作確認を行うことを想定しています。
このアプリは現在地情報の強制変更を行う、シンプルな開発者向けアプリです。
ジオ系アプリの開発で、実際に移動を行わなくても、移動中の位置情報に関する動作確認を行うことを想定しています。
テストは、本アプリのメインとなる操作対象です。
アプリを起動するとアクセスできます。
テストを一覧表示します。
以下のそれぞれの機能にアクセスするための、このアプリのメインメニューです。
以下の操作を行うと、それぞれの機能にアクセスできます。
以下の機能にアクセスすることができます。
テストを実施するための設定を行うための画面です。
以下のそれぞれの機能にアクセス可能です。
地図を読み込み終わると、以下のボタンが出現します。
Googleマップのテクスチャを以下から選択して変更できます。
タイルサーバーを追加するための以下のボトムシートを表示します。
追加されたタイルサーバーが表示されます。
セルには以下の機能があります。
経路を決定すると以下のボタンが追加されます。
押下すると以下の状態になります。
このモードでは経由地(出発地・目的地を含む)を選択・移動・追加・削除して、経路を編集できます。
出発地・目的地以外の経由地は選択されると赤くなります。
経由地を選択して地図を移動すると、選択された経由地が地図中心を追随します。
経由地の選択を解除するには、以下の操作を行ってください。
経由地を追加するには、経路の線分上をタップします。
追加された経由地は選択され、地図中心を追随します。
経由地を削除するには、経由地削除ボタンを押下します。
経由地削除ボタンを押下すると、ボタンが赤く表示され、タップした経由地を削除できます。
経由地削除を解除するには、もう一度ボタンをタップします。
経路の編集を終えるにはチェックマークボタンを押してください。
以下の項目を設定できます。
タイルオーバーレイを表示や経路決定を行うと、右上に表示される小さなウィンドウです。
実施履歴は、テストを実施すると履歴として生成される操作対象です。
テスト一覧画面のリストセルを、ロングタップもしくは左へスライドすると、アクセスできます。
実施履歴を一覧表示します。
以下のそれぞれの機能にアクセス可能です。
以下の操作を行うと、それぞれの機能にアクセスできます。
以下の機能にアクセスすることができます。
実施履歴の詳細画面を表示します。
以下のそれぞれの機能にアクセス可能です。
経路をGPX形式で出力します。
テストで移動した軌跡をGPX形式で出力します。
タイルサーバーは、タイルオーバーレイの設定を保持する操作対象です。
テスト一覧画面のメニューからアクセスできます。
タイルサーバーを一覧表示します。
国土地理院のAPIをプリセットとして収録しています。
以下の機能にアクセス可能です。
以下の操作を行うと、それぞれの機能にアクセスできます。
以下の機能にアクセスすることができます。
タイルサーバーを編集できます。
以下の機能にアクセス可能です。
静的なURLテンプレートの場合は、テキストフィールドに入力してください。
スクリプトで生成を押下し、スクリプトを設定すると、テキストフィールドが非表示になり、入力されていたURLテンプレートは削除されます。
URLテンプレート文字列は以下の要件を満たしたものです。
httpsで始まる{z}が含まれる{x}が含まれる{y}が含まれるサポートされるズームレベル範囲を選択してください。
最小ズームレベルを選択してください。
下部のチェックボックスを選択すると、カレントズームレベルを最小ズームレベル以下に下げた時に、最小ズームレベルのタイル画像からカレントズームレベル相当の画像を生成します。
地図で表示される範囲が広くなるため、タイル画像取得数が増加します。
そのため、表示に時間がかかる上に、キャッシュがたまるまではサーバーに負荷がかかるので、タイルサーバーがテストやステージング環境などの場合に利用してください。
最大ズームレベルを選択してください。
下部のチェックボックスを選択すると、カレントズームレベルを最大ズームレベル以上に上げた時に、最大ズームレベルのタイル画像を拡大・切り取りし、カレントズームレベル相当の画像を生成します。
この処理では、画像が荒くなる以外に、特に負荷におけるデメリットはありません。
サーバーがTMS(Tile Map Service)を採用している場合はチェックしてください。
Y軸を反転して画像取得するようになります。
本アプリにはPython3.8とrequestsモジュールが組み込まれています。
URLテンプレートを動的に生成する必要がある場合に利用してください。
タイルサーバー編集画面のスクリプトで生成を押下するとアクセスできます。
簡易的なスクリプトエディタを表示します。
以下のそれぞれの機能にアクセス可能です。
スクリプトの目的はURLテンプレート文字列を定義することです。
URLテンプレート文字列は以下の要件を満たしたものです。
httpsで始まる{z}が含まれる{x}が含まれる{y}が含まれるアプリはスクリプトを評価し、グローバル変数のresultを参照することで、URLテンプレート文字列を取得します。
Python3.8の標準モジュールとrequestsモジュールを使って、ネットワークアクセスとそのレスポンスボディを文字列操作することで、URLテンプレート文字列を生成してください。
以下に、国土地理院標準地図のURLテンプレート文字列を、アプリに渡すサンプルスクリプトを示します。
import requests
def generate_url():
try:
response = requests.get('https://www.sangeisha.com/veer/sample.json', timeout=(5, 10))
if response.status_code == 200:
data = response.json()
hostname_str = data['hostname']
category_str = data['category']
type_str = data['type']
extension_str = data['extension']
return f'https://{hostname_str}/{category_str}/{type_str}/{{z}}/{{x}}/{{y}}.{extension_str}'
else:
return None
except requests.Timeout:
return None
except requests.RequestException as e:
return None
result = generate_url()
スクリプトが実行される契機は、テストで以下を実施したタイミングです。
アプリの設定を変更できる機能です。
経路検索のパラメータを以下から設定できます。
目的地を地図の長押しや文字列検索で決定した時に、経路を検索します。
チェックを外すと出発地と目的地が直線でつながる経路が作成されます。