データベースを使って動的に複数のマーカーでGoogleマップを作成しましたが、それぞれのマーカーを個別にクリックする方法を教えてもらえますか?Googleマップマーカのクリックを処理する方法は?
答えて
あなたはこの
private Marker marker1;
marker1 = mMap.addMarker(new MarkerOptions()
.position(LatLng(-31.952854, 115.857342))
.title("Title");
marker1.setTag(0);
mMap.setOnMarkerClickListener(this);
好きですし、リスナーの実装ででき
@Override
public boolean onMarkerClick(final Marker marker) {
//marker.getTag()
}
これを使用して、複数のマーカーのために:次に作成
まずGoogleMap.OnMarkerClickListenerを実装するために、あなたのアプリを作りますマーカー配列:
Marker[] marker = new Marker[20]; //change length of array according to you
その後、
onMapReady(){
mMap.setOnMarkerClickListener(this);
for(int i = 0 ; i < yourMarkerListsize ; i++) {
marker[i] = mMap.addMarker(new MarkerOptions()
.position(new LatLng(list(i).getLat(), list(i).getLon())
.anchor(0.5f, 0.5f)
.title(title)
.snippet(snippet)
.icon(yourIcon));
}
内部の最後に
@Override
public boolean onMarkerClick(Marker marker) {
//you can get assests of the clicked marker
return false;
}
はそれが役に立てば幸い!
ありがとう、ありがとう、私はC#コードXamarin Javaを使用して、そのJavaコードを使用する必要があります。 –
あなたは、このためのXamarinのコードを探している場合は、以下では、これはあなたがこれはあなたを助けxamarin Androidのホープの両方のマーカーとマーカー情報ウィンドウのクリックイベントを処理する方法であるあなたがそれを行う方法
GoogleMaps Gmap;
GMap.MarkerClick += GMap_MarkerClick;
GMap.InfoWindowClick += GMap_InfoWindowClick;
private void GMap_MarkerClick(object sender, GoogleMap.MarkerClickEventArgs e)
{
Marker marker = e.Marker;
marker.ShowInfoWindow();
}
private void GMap_InfoWindowClick(object sender, GoogleMap.InfoWindowClickEventArgs e)
{
}
です。
ありがとうございます、あなたのコードは私がすでに行っている一つのマーカー値です。以下のコードを使用してください: MarkerOptions options = new MarkerOptions()。SetPosition(latlng).SetTitle(dt.Rows [i] ["rating"]。ToString()+ ":クリックして"); GMap.AddMarker(options); GMap = googleMap; –
だから、コードに複数のマーカーを挿入したいと思っています。 @PrashantBhatt –
はい、私たちのGoogleマップ画面には複数のマーカーがあり、すべてのマーカーに対して個々のマーカークリックイベントが必要です。マーカーの位置はデータベースから設定され、FORループを使用してマップ上に表示されます。 –
私は、下記のアプローチはあなたを助けるかもしれないと思う:
他の人が言ったように、あなたがhereを参照し、マーカークリックでイベントを実行し、URLを使用して、起動アクティビティを追加するために、マーカーにOnMarkerClickListener
を設定することができます。 アクティビティのURLをDBに保存することもできます。 マーカーを動的に作成する場合は、オブジェクトのキーがMarker
クラスのマップを維持し、値はURLのString
になります。そう
、onMarkerClick()
メソッド内:
UrlObject url = new UrlObject()
{
Url = "enteryoururlhere"
};
marker.Tag = UrlObject;
:マーカーをクリックするごとに一意のURLを取り付けるために
@Override
public boolean onMarkerClick(Marker marker) {
String activityUrl = markerURLMap.get(marker);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(activityUrl));
startActivity(intent);
}
、あなたは次のようにあなたがMarker.Tag内のタグオブジェクトを添付する必要があります次に、次を呼び出して各マーカーに固有のURLを取得します。
public boolean onMarkerClick(Marker marker) {
UrlObject obj = marker.Tag;
String activityUrl = obj.Url;
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(activityUrl));
startActivity(intent);
}
あなたUrlObjectクラスは、セットアップが簡単になります:
class UrlObject : Java.Lang.Object
{
public string Url { get; set; }
}
編集:あなたは、あなたのループ内のすべてのマーカーのためのタグになるだろう。こうすると、各マーカーが作成されると、各URLで適切にタグ付けされます。
- 1. アンドロイドのGoogleマップマーカのクリック数をカウントする方法
- 2. バック・クリックを処理する方法は?
- 3. サーバサイドクラスタリングGoogleマップマーカ
- 4. Googleマップマーカをクリックしたときのイオニック並べ替え
- 5. Googleマップマーカのフィルタ付きサイドバー
- 6. リスナーによって処理されないクリックを処理する方法は?
- 7. RecyclerViewの行内でImageViewのクリックを処理する方法は?
- 8. イヤホンのボタンのクリックを処理する方法は?
- 9. ListViewで複数のクリックを処理する方法は?
- 10. 中マウスのクリックを処理する方法は?
- 11. イベントをクリックしてjsp taglibを処理する方法は?
- 12. Googleでの対処方法の理解
- 13. クリックとタブでフォーカスを処理する方法は?
- 14. クリック/タッチイベントでハイブリッドデバイスを適切に処理する方法は?
- 15. Androidでクリックされたボタンを処理する方法は?
- 16. jqueryでGoogleのrecaptchaを処理する方法は?
- 17. クリックを処理するテキストの一部分を作る方法
- 18. Google Visualization API Geomap:マーカークリックイベントの処理方法
- 19. RichTextBoxのハイパーリンクをクリックしてイベントを処理する方法
- 20. CardViewの2回目のクリックを処理する方法
- 21. Googleマップapiからエラーを処理する方法は?
- 22. Googleマップ(MapFragment)でタッチイベントを処理する方法は?
- 23. Aureliaでアンカー・クリックのルーティングを処理する方法
- 24. 短く長いボタンのクリックを処理する方法
- 25. Firefoxでの左クリックと右クリックの処理方法
- 26. 処理中にコントロールの更新を処理する方法は?
- 27. カスタムGoogleマップマーカ/ドロップアニメーションを使用したJavascript
- 28. Androidで長いクリックを処理する方法
- 29. ウィジェットのGoogleログインを処理する方法
- 30. マスターページボタンの処理方法コンテンツページのイベントをクリックしますか?
マーカーをクリックして実行するイベントは何ですか?小さな変化ですべて同じですか?彼らはあなたのアプリのアクティビティを開くのが好きですか? –
ダイアログボックスとして表示される各マーカークリックイベントで新しいアクティビティを開きたいとします。 –