-1
질문이 있습니다. 다중 이미지 뷰 및 textviews가있는 레이아웃을 android map utils의 Google지도에서 클러스터 아이콘으로 설정할 수 있습니까? 그리고 어떻게?xml 레이아웃을 클러스터 마커로 사용하는 방법 Android
감사
질문이 있습니다. 다중 이미지 뷰 및 textviews가있는 레이아웃을 android map utils의 Google지도에서 클러스터 아이콘으로 설정할 수 있습니까? 그리고 어떻게?xml 레이아웃을 클러스터 마커로 사용하는 방법 Android
감사
나는 것을 사용하는 것보다 더 쉬운 방법이 있는지 모르겠어요 : 누군가가 좋은 예를 제공하는 경우는 내가 뭘 원하는지의 예를 들어 좋은 것 일 년이 지났습니다.이 방법은 데이터 세트가 큰 경우 많은 시간이 필요하므로 작은 데이터 세트에서 사용하거나 다른 옵션을 디자이너와상의하십시오.
원하는 레이아웃으로 레이아웃을 만들 수 있습니다.이 레이아웃의 비트 맵을 얻으려면 비트 맵을지도의 마커로 추가하십시오. 마커 추가는 이미지 만 사용하기 때문입니다.
먼저 팽창 및 레이아웃에 데이터를 설정
View marker = ((LayoutInflater) getActivity()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE))
.inflate(R.layout.marker_layout, null);
초
Bitmap bitmap = createDrawableFromView(
getActivity(), marker);
써드 이것이
MarkerOptions mo = new MarkerOptions().position(
new LatLng(lat, lng))
// .title(address)
.snippet(i + "")
.icon(BitmapDescriptorFactory
.fromBitmap(bitmap));
Marker customMarker = googleMap.addMarker(mo);
마커로서 비트 맵을 추가 이러한 관점에서 비트 맵을 얻을 비트 맵을 얻는 방법
public static Bitmap createDrawableFromView(Context context, View view) {
DisplayMetrics displayMetrics = new DisplayMetrics();
if (context != null) {
((Activity) context).getWindowManager().getDefaultDisplay()
.getMetrics(displayMetrics);
view.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
view.measure(displayMetrics.widthPixels, displayMetrics.heightPixels);
view.layout(0, 0, displayMetrics.widthPixels,
displayMetrics.heightPixels);
view.buildDrawingCache();
Bitmap bitmap = Bitmap.createBitmap(view.getMeasuredWidth(),
view.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
return bitmap;
}
return null;
}
고통 스러웠다.
감사합니다.이 코드는 클러스터가 아닌 단일 마커 용이지만 내 코드 내부에서 구현하려고합니다. 그러나 하나의 질문은 createDrawableFromView를 사용하기 전에 데이터를 설정해야하며 사용할 수도 있습니다. 이것은 onBeforeClusterRendered 생성자 안에 있습니까? – Blacksword
예 비트 맵을 만들기 전에 모든 데이터를 설정해야합니다. url 이미지가있는 경우 처음로드 한 다음 onBeforeClusterRendered를 사용하지 않은 마커를 만들면 시도하지 않습니다. –
감사합니다. Hala에게 감사드립니다. – Blacksword