我已經使用數據庫動態創建帶有多個標記的Google Map,現在任何人都可以建議我如何單獨創建每個標記的點擊事件?如何處理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;
}
希望它可以幫助!
謝謝你的建議,但我需要一個使用Xamarin而不是Java的C#代碼,它是一個Java代碼。 –
如果你正在尋找的這個Xamarin代碼,以下是你如何做到這一點
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)
{
}
這是你如何處理xamarin Android的希望都標記和標記信息的窗口中點擊事件這可以幫助你。
謝謝您的建議,但您的代碼只有一個標記值,這是我已經完成的。使用下面的代碼 MarkerOptions options = new MarkerOptions()。SetPosition(latlng).SetTitle(dt.Rows [i] [「rating」]。ToString()+「:Click to request」); GMap.AddMarker(options); GMap.AddMarker(options); GMap = googleMap; –
所以你想要一個代碼插入多個標記我想!? @PrashantBhatt –
是的,我們的谷歌地圖屏幕中有多個標記,我們希望所有標記都有單獨的標記點擊事件。標記位置從數據庫中設置,並使用FOR循環顯示在地圖上。 –
我覺得下面的方法可以幫助你:
正如其他人所說,你可以設置一個OnMarkerClickListener
到標記,以對標記點擊事件,並使用URL添加發射活動,是指here。 因此,您可以將活動網址存儲在數據庫中。 當動態創建標記時,維護其關鍵將爲Marker
類的對象的映射,並且值將爲String
的URL。
如此,裏面onMarkerClick()
方法:
@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標籤的對象:
UrlObject url = new UrlObject()
{
Url = "enteryoururlhere"
};
marker.Tag = UrlObject;
然後,您將通過呼叫以下內容獲取每個標記唯一的網址:
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地圖內的標記setOnInfoWindowClickListener
- 2. 如何處理Google地圖android上的GeoJsonLayer上的標記點擊事件?
- 3. 防止Google地圖標記被點擊
- 4. 在Google地圖中標記點擊
- 5. Google地圖和透明點擊標記
- 6. 如何在點擊此處時更改標記圖標地圖
- 7. Google可視化API Geomap:如何處理標記點擊事件?
- 8. 如何在點擊Google地圖標記時執行jquery回調?
- 9. 如何「模擬」Google地圖標記上的點擊?
- 10. 如何處理點擊擴展圖標?
- 11. 點擊Google地圖上的谷歌地圖標記
- 12. 當標記點擊Google地圖時,如何從標記獲取數據到BottomSheet
- 13. 點擊標記時獲取地址 - Google地圖
- 14. 谷歌地圖V3 「如何創建在地圖標記點擊」
- 15. 保存點擊Google地圖標記ID - 重置下一個標記圖標點擊
- 16. Google Maps API v3,點擊時如何更改標記圖標
- 17. Google地圖標記
- 18. 谷歌地圖 - 點擊標記點擊加載窗口點擊
- 19. 如何更改地圖框中點擊標記的標記顏色和圖標?
- 20. Google-Maps-for-Rails點擊地圖創建新標記
- 21. 使用角度Google地圖標記點擊事件
- 22. Google地圖集羣顯示標記上的泡泡點擊
- 23. 如何使用Google地圖平滑地標記標記?
- 24. 處理大部分Google地圖3標記
- 25. 如何使用Apple Carbon處理停靠點圖標點擊
- 26. 標記事件點擊谷歌地圖
- 27. 在地圖上點擊設置標記
- 28. 通過點擊地圖添加標記
- 29. 谷歌地圖標記點擊事件
- 30. 如何讓Google地圖在自定義標記下無法點擊?
您打算通過單擊標記來執行什麼事件?小改動都一樣嗎?他們喜歡打開你的應用程序的活動嗎? –
我想在每個標記點擊事件上打開一個新的活動,它將顯示爲一個對話框。 –