Titanium(v5.0.4、sdk 5.1.2GA)を使用してクロスプラットフォームのモバイルアプリを作成しています。アプリは、現在の場所に近い関心のあるポイントのマーカー付きの地図を表示します。ユーザーがマップを新しい地域に移動すると、以前に表示されていたすべてのマーカーが削除され、新しい場所に従って新しいマーカー セットが計算されて表示されます。ユーザーがマーカーをクリックすると、infoWindow が表示されます。infoWindow をクリックすると、新しいウィンドウが開き、詳細情報が表示されます。
これは IOS (MapKit を使用) で正常に動作します。ただし、Android (Google マップを使用) では、マーカーをクリックすると infoWindow が表示されますが、マップがマーカーの中央に配置されるため、「regionchanged」イベントがトリガーされ、アプリでマーカーが削除され、新しいセットが表示されます。基本的に、ユーザーは infoWindow をクリックすることも、新しいウィンドウにアクセスして詳細情報を表示することもできません。
私がしたいこと: マーカーをクリックしたときに、Google マップがマーカーに自動パンしないようにします。
または、マーカーをクリックした後に発生する「regionchanged」イベントと、ユーザーがマップを移動することによって発生する「regionchanged」イベントを区別する方法はありますか? これにより、後者にのみ反応することができます。
私はこれを見つけました(マーカーをクリックしたときにマーカーへの自動パンを防ぐことは不可能です(Googleマップ))が、これはレール上のルビーです。私が遭遇した他の何か(ただし、リンクを見つけることはできません)には、「クリック」イベントハンドラーのオーバーロードまたはdisableAutoPan infoWindowオプションの使用が含まれていました(Googleマップ:InfoWindowがマップをシフトするのを防ぐ方法)が、これはすべてJavaScript API。
それで、誰か何か考えがありますか?