1

現在の状況

Google オートコンプリート テキスト ボックスを Web ページに実装して、ユーザーが Google プレイスを選択し、その場所/住所情報を自分のアカウントに保存できるようにしました。 基本的に、Google のPlace Autocomplete デモPlace Autocomplete Address デモを交差させます

オートコンプリートの「検索」ボックスから、ユーザーは場所 (この場合はestablishmentタイプ) を検索します。次に、最も近いオプションのリストを取得し、リストから適切なオプションを選択できます。

彼らが場所を「選択」すると、place_changedイベントが発生します。

このイベントから、リスナーを接続することができました。リスナーは、選択した場所にマップ マーカーを表示placeし、InfoWindow.

「デフォルト」InfoWindowを独自のものに変更しました。これにより、ユーザーは必要に応じて「使用」ボタンをクリックできます。これにより、一部の JavaScript が処理し、必要なデータをいくつかのフィールドに保存します。基本的に、すべては Google のドキュメントに従って行われます

私が望むように、すべてがうまく機能しています(ヤッピー!)。

サンプルは次のとおりです。

選択した場所でオートコンプリート


このことを考慮...

ここで、ユーザーがオートコンプリート ドロップダウンから「一致」を選択したとしましょう。マップ マーカーが追加され、マップがそれにフォーカスされ、InfoWindow[使用] ボタンが表示されます (上記のように)。

しかし、彼らはそれを「使用」しないことに決めました - 彼らは使用したい別の近くの場所を見ました.

地図から、ユーザーが別の場所をクリックすると、別の場所がInfoWindowポップアップ表示され、住所と「Google マップで表示」へのリンクが表示されます。

このようなもの:

オートコンプリートの代替場所が選択されました

注:InfoWindowの内容は、鉄道駅などの特別な種類の施設によって異なる場合があることに気付きました(住所は表示されません。鉄道駅であることを示す記号のみ)。うまくいけば、私の質問への答えがこの空虚をもたらすので、私はこれについてあまり大騒ぎしていません。


問題

別の場所をクリックすると、この「代替」が表示されることは明らかですInfoWindow。イベントが発生し、Google の JS が選択した場所で別のイベントを起動して処理していると思いますInfoWindow

ユーザーが望むのであれば、クリックした別の場所を「使用」できれば、ユーザー エクスペリエンスが大幅に向上すると思います。彼らは現在、基本的に最初の画像と同じ結果に到達するために、その別の場所を「再度検索」する必要があります。

インターネットのどこにも、別の場所をクリックして操作する方法を見つけることができません。

リッスンするイベントを検索してから処理しようとしました(独自のコールバック関数を使用して、 InfoWindowfrom からカスタムを表示しているのと同じ方法で)。place_changed


私に何ができる?

次のことを知る必要があります。

  • マップから「別の」場所が選択されたときに発生するイベントは?
  • このイベントには、イベント引数placeのようにオブジェクトが含まれていますか?place_changed
  • もしそうなら、このイベントに接続してplace、マップ マーカーを設定し、InfoWindow.

あなたの助けと提案を前もって感謝します - いつものように感謝しています.

4

0 に答える 0