2015-10-07 61 views
15

我想告訴像this顯示在每一個標記信息窗口同時

我能夠在地圖上顯示的所有標記,但我想在每一個標記顯示信息窗口時所有的標記是人口稠密。 到目前爲止,我已經嘗試了這一點,但它顯示了所有標記只有一個標記信息窗口。

for (int i = 0; i < jobsDtoList.size(); i++) { 
    Double latitude = Double.parseDouble(jobsDtoList.get(i).getSiteLatitude()); 
    Double longitude = Double.parseDouble(jobsDtoList.get(i).getSiteLongitude()); 

    LatLng latLng = new LatLng(latitude, longitude); 
    MarkerOptions TP = new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.fromResource(R.mipmap.job_marker)); 
    googleMap.addMarker(TP).showInfoWindow(); 
} 

回答

11

一次不能顯示多個信息窗口。從the documentation

的信息窗口,可以顯示信息給用戶,當他們 上的標記挖掘。 一次只顯示一個信息窗口。如果一個 用戶點擊另一個標記,則當前信息窗口將被隱藏 並且將顯示新的信息窗口。

你可能想看看Google Maps Android API Utility Library的氣泡圖標。 氣泡圖標爲標記添加更強大的渲染選項,但不會改變它們的行爲。這意味着您仍然無法一次顯示多個信息窗口,但氣泡圖標可讓您在每個標記上顯示更多信息:

添加IconGenerator以顯示信息摘要您的 標記。此實用程序提供了一種使標記圖標看上去有點像信息窗口的方式,因爲標記本身可以包含文本 和其他內容。 優點是您可以同時打開多個 標記,而只有一個信息窗口可以一次打開 。您還可以設置標記的樣式,更改標記和/或內容的方向,並更改標記的背景 圖像/九分補丁。

UPDATE:採用氣泡圖標的示例(考慮到您需要將谷歌地圖Android的API工具庫添加到您的項目下列this instructions):

LatLng latLng = new LatLng(latitude, longitude); 

TextView text = new TextView(context); 
text.setText("Your text here"); 
IconGenerator generator = new IconGenerator(context); 
generator.setBackground(context.getDrawable(R.drawable.bubble_mask)); 
generator.setContentView(text); 
Bitmap icon = generator.makeIcon(); 

MarkerOptions tp = new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.fromBitmap(icon)); 
googleMap.addMarker(tp); 
+2

那麼有沒有辦法添加自定義用textfield標記除了infowindow之外還顯示所有標記上的所有標題? –

+0

@Ram Mandal我已經用示例更新了我的答案 – antonio

+0

感謝您的建議bro。真的很感謝你的幫助 –

相關問題