How to create a custom-shaped bitmap marker with Android map API v2 -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 1 उत्तर

मैं एक एंड्रॉइड एप्लिकेशन विकसित कर रहा हूं जहां मैं Google मानचित्र एपीआई v2 का उपयोग कर रहा हूं मुझे कस्टम मार्कर के साथ मानचित्र पर उपयोगकर्ता स्थान दिखाना होगा।

प्रत्येक मार्कर उपयोगकर्ता की तस्वीर किसी यूआरएल से दिखाएगा। छवि सर्वर से एसिंक्रोनस मोड में डाउनलोड होनी चाहिए। उदाहरण के लिए संलग्न स्क्रीनशॉट देखें।

मैं मार्कर में एक छवि और कस्टम जानकारी कैसे जोड़ूं?

इसमें एक < कोड> मार्कर डमो एक्टिविटी वर्ग में आप देख सकते हैं कि कस्टम छवि GoogleMap पर कैसे सेट की गई है।

  // कस्टम आइकन का उपयोग करता है MSydney = mMap.addMarker (नया मार्कर ऑप्शन ()। स्थिति (सिडनी)। शीर्षक ("सिडनी")। स्निपेट ("जनसंख्या: 4,627,300") .कॉन (बिटमैप डिस्क्रिप्टर फॉरेंचर। फ्रॉम रिसोर्स (आरड्रॉवएबल.एरो)));  

चूंकि यह एक छवि के साथ मार्कर को बदल देता है, जैसा कि आप अधिक जटिल और फैन सामग्री को आकर्षित करने के लिए Canvas का उपयोग करना चाहते हैं:

 < कोड> बिटमैप। कॉन्फिफ conf = बिटमैप। कॉन्फ़िफ़.एआरजीबी_8888; बिटमैप बीएमपी = बिटमैप.क्रेतेबिटमैप (80, 80, कॉन्फ); कैनवास कैनवास 1 = नया कैनवास (बीएमपी); // रंग रंग, स्ट्रोक चौड़ाई और आकार को परिभाषित करता है पेंट रंग = नया पेंट (); color.setTextSize (35); color.setColor (Color.BLACK); // कैनवास कैनवास संशोधित करें। डाऊबिटमैप (बिटमैपफ़ीन्टेरैरेडेस रिसोर्स (getResources (), आरड्रॉउबबल.युसर_पिक्चर_इजेज), 0,0, रंग); Canvas1.drawText ("उपयोगकर्ता नाम!", 30, 40, रंग); // मानचित्र के लिए नक्शा जोड़ें mMap.addMarker (नया मार्कर ऑप्शन ()। रचना (USER_POSITION) .inon (बिटमैपडिस्क्रिप्टरफ़िएटर। फ्रॉमबिटमैप (बीएमपी)) // मार्कर की छवि में एक विशेष बिंदु पर होने वाले एंकर को निर्दिष्ट करता है। , 1));  

यह कैनवास कैनवास 1 को GoogleMap mMap पर खींचता है। कोड (ज्यादातर) खुद के लिए बोलना चाहिए, वहाँ कई ट्यूटोरियल हैं कि एक कैनवास कैसे आकर्षित करें। आप एंड्रॉइड डेवलपर पृष्ठ से देखकर शुरू कर सकते हैं।

अब आप यूआरएल से एक तस्वीर भी डाउनलोड करना चाहते हैं।

  यूआरएल यूआरएल = नया यूआरएल (यूजर_आईमेज_आर्रल) ; HttpURLConnection conn = (HttpURLConnection) url.openConnection (); conn.setDoInput (सही); conn.connect (); InputStream है = conn.getInputStream (); बीएमआईएमजी = बिटमैपफ़ीचर। सीकोडस्ट्रीम (है);  

आप एक पृष्ठभूमि थ्रेड से छवि को डाउनलोड करने के लिए चाहिए (आप इसका उपयोग कर सकते हैं या इसके लिए)।

इसके बाद आप < कोड> बिटमैपफैक्टरी.decodeResource (getResources (), R.drawable.user_picture_image) अपनी डाउनलोड की गई छवि bmImg


Comments

Popular posts from this blog

c++ - C/pp Sockets, recv()/send() works only under gdb -

GO: Serve static pages -

objective c - How to open front/back camera at the same time in iOS developing? -