0
我一直在研究如何現在相當一段時間做到這一點,我無法找到一個單一的解決方案,它好像沒有人以前甚至試過這種。我試圖做到以下幾點:是否有可能爲谷歌地圖信息窗口重疊的標記
這是標記的樣子:
而且這是我希望它看起來當信息窗口彈出,如:
有沒有辦法讓信息窗口重疊這樣的標記並隱藏它的一部分? 注意:第二張圖片只是設計模型(photoshopped),尚未實現。第一張圖片是實際的截圖。
我一直在研究如何現在相當一段時間做到這一點,我無法找到一個單一的解決方案,它好像沒有人以前甚至試過這種。我試圖做到以下幾點:是否有可能爲谷歌地圖信息窗口重疊的標記
這是標記的樣子:
而且這是我希望它看起來當信息窗口彈出,如:
有沒有辦法讓信息窗口重疊這樣的標記並隱藏它的一部分? 注意:第二張圖片只是設計模型(photoshopped),尚未實現。第一張圖片是實際的截圖。
這裏是你的代碼添加自定義標記圖像。
LayoutInflater inflater = (LayoutInflater) getApplicationContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
marker=inflater.inflate(R.layout.custom_marker_layout,null, false);
numTxt = (TextView) marker.findViewById(R.id.num_txt);
for(int i=0;i<locations.size();i++){
numTxt.setText(count.get(i).toString());
numTxt.setTextColor(Color.GREEN);
if(Integer.parseInt(count.get(i).toString())<=5){
numTxt.setTextColor(Color.RED);
}
String title=locations.get(i).toString()+"count"+count.get(i);
Currnt=mMap.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromBitmap(createDrawableFromView(BasicMapActivity2.this, marker))).
position(new LatLng(Double.parseDouble(latitudes.get(i).toString()), Double.parseDouble(longitudes.get(i).toString())))
.title(title)
.snippet(address.get(i)));
markers.add(Currnt);
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(Double.parseDouble(latitudes.get(i).toString()), Double.parseDouble(longitudes.get(i).toString())), 12.0f));
}
和方法在谷歌地圖轉換視圖到位圖。
// Convert a view to bitmap
public static Bitmap createDrawableFromView(Context context, View view) {
DisplayMetrics displayMetrics = new DisplayMetrics();
((BasicMapActivity2)context).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
view.setLayoutParams(new LayoutParams(200,65));
view.measure(displayMetrics.widthPixels, displayMetrics.heightPixels);
view.layout(0, 0, displayMetrics.widthPixels, displayMetrics.heightPixels);
view.buildDrawingCache();
view.buildDrawingCache(true);
Bitmap bitmap = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
return bitmap;
}
和Custom_marker_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal" >
<ImageView
android:id="@+id/img"
android:layout_width="55dp"
android:layout_height="65dp"
android:src="@drawable/custom_marker" />
<TextView
android:id="@+id/num_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="9"
android:textColor="#008000"
android:textSize="18dp"
android:textStyle="bold" />
</FrameLayout>
在這裏,在這個實現-i顯示了自定義圖像,並在此圖像中的一個的TextView與計數值,當我上標記然後雙擊它顯示我的自定義窗口。