2011-06-28 10 views
5

मैं अपने MapView पर कुछ स्थानों को प्रदर्शित करना चाहता हूं। ये स्थान पिन दिखाएंगे जिनकी संख्या 1,2,3 होगी .. इसी तरह (Google मानचित्र के परिणाम के समान लेकिन यह ए, बी, सी ..) है। मुझे लगता है कि सभी संख्याओं के पिन होने के लिए संभव नहीं है।MapView पर गतिशील रूप से क्रमांकित पिन पॉइंटर्स कैसे बनाएं?

वहाँ किसी भी तरह से है कि मैं सिर्फ TextView साथ पिन पृष्ठभूमि के साथ एक लेआउट बना सकते हैं है और मैं गतिशील TextView में नंबर डाल दिया और drawable पिन के रूप में है कि लेआउट बीमार उपयोग करेंगे ??

या इसे प्राप्त करने के लिए कोई अन्य तरीका ?? कृपया कुछ सुझाव दें।

(मैं MapView .मैं पर विभिन्न drawable पिन को दिखाने के लिए कर रहा हूँ बस गतिशील ड्रॉएबल बनाना चाहते हैं)

उत्तर

5

इस हल।

पिन पृष्ठभूमि के साथ टेक्स्ट व्यू को घुमाया और गतिशील रूप से स्थिति को टेक्स्टव्यू में सेट किया।

public Drawable createFromView(int positionNumber) 
{ 
    LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View view = inflater.inflate(R.drawable.pin_icon, null, false); 
    TextView tv = (TextView) view.findViewById(R.id.pin_background); 
    tv.setText("  "+ (positionNumber+1)); // +1 since position is starting from 0 
    tv.setDrawingCacheEnabled(true); 
    tv.layout(0, 0, 50, 50); 
    tv.buildDrawingCache(); 
    Bitmap b = Bitmap.createBitmap(tv.getDrawingCache()); 
    tv.setDrawingCacheEnabled(false); 
    Drawable d = new BitmapDrawable(b); 
    return d; 
} 
+0

यह वास्तव में बहुत अच्छा है, जो मैं खोज रहा हूं। क्या आप किसी भी मौके से लेआउट xml फ़ाइल के लिए कोड स्निपेट भी रखते हैं? R12rawable.pin_icon के लिए – kfox

+0

@kfox। यह एक टेक्स्टव्यू युक्त एक रैखिक लेआउट के अलावा कुछ भी नहीं है। लिनियर लेआउट पृष्ठभूमि आपका पिन है। केंद्र में टेक्स्ट व्यू को बस संरेखित करें। अगर आपको अभी भी इसकी ज़रूरत है तो मुझे बताएं। मैं इसे आपको प्रदान करूंगा। – Harshad

+0

यदि R.drawable.pin_icon एक टेक्स्ट व्यू के साथ एक रैखिक लेआउट है। क्या इसका मतलब है R.id.pin_background पिन रैखिक वाला एक रैखिक लेआउट है? –