web-dev-qa-db-ja.com

Googleマップを使用して場所を選択する方法

私はAndroidアプリを開発しています。このアプリでは、ユーザーは名前と場所を指定してクライアントを追加できます。名前は必須で、場所はオプションです。内部では、場所は次の要素で構成されています。

  • 文字列としてのアドレス
  • 緯度(数値)
  • 経度(数値)

これは、新しいクライアントを挿入するためのUIです。

enter image description here

ユーザーは名前とオプションのアドレスを入力します。アドレスについて、私はそれを設定するいくつかの方法を実装することを考えていました:

  • 住所を手動で入力し、[地図で検索]ボタンを押すと、地図上の場所が自動的に検索されます
  • 「現在の位置」ボタンを押して、現在のデバイスの位置を使用します
  • 地図上のドットを移動し、自動的に住所を見つける

「現在の位置」ボタンは問題なく機能します。マップを押すと、現在のデバイスの位置を使用して住所フィールドが設定されます(もちろん、GPSとインターネット接続が有効になっている場合)

「地図上で検索」ボタンがあいまいです。ユーザーが住所フィールドで指定した現在の住所に従って地図を設定したいのですが、同時に逆の操作をしたいのです。地図上の位置(ユーザーが手動で地図をスクロール/ズームして設定します)を位置を住所文字列としてジオコーディングし、住所フィールドを自動で設定します

この「マップ上で検索」ボタンに簡単でわかりやすいUIを実装する良い方法を見つけるのに苦労しています。何をしているのかはっきりしない

1

「マップで検索」ボタンはまったく必要ありません。
次の方法でそれに取り組むことができます:-住所とマップを双方向でバインドする。

  1. ユーザーが場所を入力して選択すると、入力フィールドには通常どおり選択項目が入力され、地図はその場所に自動スクロールします。
  2. ユーザーがスクロールズームなどで地図から場所を直接選択しようとすると、入力フィールドに地図内のマーカーの現在の場所が入力されます。

このメソッドは、Uber、Gmapsなどの多くのアプリに実装されています。

1
Kishan