2013-09-29 6 views

उत्तर

46

यह कैसे एक डिफ़ॉल्ट मार्कर

Marker melbourne = mMap.addMarker(new MarkerOptions().position(MELBOURNE) 
    .icon(BitmapDescriptorFactory 
     .defaultMarker(BitmapDescriptorFactory.HUE_AZURE))); 

बनाने के लिए है और आप

float HUE_AZURE 
float HUE_BLUE  
float HUE_CYAN  
float HUE_GREEN 
float HUE_MAGENTA 
float HUE_ORANGE 
float HUE_RED 
float HUE_ROSE  
float HUE_VIOLET 
float HUE_YELLOW 
+2

केवल दस रंग? – kucluk

+0

जो कहता है https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory – JRowan

+1

ये केवल कुछ पूर्वनिर्धारित रंग हैं। चूंकि 'डिफ़ॉल्ट मार्कर()' विधि 'फ्लोट' लेती है, इसलिए आप '[0 ... 360]' की सीमा के भीतर कोई भी मूल्य प्रदान कर सकते हैं। –

9

विस्तृत उत्तर उपयोग कर सकते हैं इन स्थिरांक हैं!

float hue = 120; //(Range: 0 to 360) 

Marker melbourne = mMap.addMarker(new MarkerOptions().position(MELBOURNE) 
    .icon(BitmapDescriptorFactory 
     .defaultMarker(hue))); 

आप किसी भी रंग 0 से 360 से लेकर मूल्य दे सकते हैं, कुछ स्थिरांक यहाँ परिभाषित कर रहे हैं (https://developers.google.com/android/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory)

सबसे अच्छा रास्ता! आवश्यक रंग ढूंढने के लिए (जो आपके आवश्यक रंग से मेल खाता है)।

ओपन Paint.Net/Photoshop संपादक (या अन्य) आपकी फोटो संपादक और स्लाइड रंग पट्टी में

गोटो रंग विकल्प और ध्यान दें सबसे अच्छा मिलान किया रंग मूल्य में इस छवि defult_pin

  • Paint.net (समायोजन -> ह्यू/संतृप्ति) के लिए

  • फ़ोटोशॉप के लिए (फोटोग्राफ़ी -> समायोजन -> ह्यू/संतृप्ति)

यदि मान 0 से ऊपर है, सही उपयोग करें मान , यदि मान 0 से नीचे है, तो मूल्य के पोस्टिव (पूर्ण) लें, इसे 180 में जोड़ें और परिणाम मान का उपयोग करें।

enter image description here

+0

GetColor नामक एक प्राचीन उपकरण है।मैं अभी भी इसका उपयोग करता हूं! इसकी जांच - पड़ताल करें। http://www.wincatalog.com/getcolor.html –

52

यहाँ एक विधि मैं दिया String रंग के आधार पर मार्करों के लिए गतिशील Hue रंग उत्पन्न करने के लिए उपयोग कर रहा हूँ है।

किसी के लिए उपयोगी हो सकता है :)

Marker melbourne = mMap.addMarker(new MarkerOptions().position(MELBOURNE) 
.icon(getMarkerIcon("#ff2299"))); 

// method definition 
public BitmapDescriptor getMarkerIcon(String color) { 
    float[] hsv = new float[3]; 
    Color.colorToHSV(Color.parseColor(color), hsv); 
    return BitmapDescriptorFactory.defaultMarker(hsv[0]); 
} 
+0

लेकिन यह हल्का रंग और वास्तविक रंग बना रहा है गहरा है –

0

प्रतीक आप इच्छित रंग पर चाहते हैं!

मैं दिनों के लिए इस उत्तर के लिए देख रहा था और यहाँ यह सही और आसान तरीका है एक कस्टम मार्कर बनाने के लिए है:

'http://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=xxx%7c5680FC%7c000000&.png' जहां xxx पाठ और 5680fc हेक्साडेसिमल रंग कोड है और 000000 है पाठ का हेक्साडेसिमल रंग कोड।

थीस मार्कर पूरी तरह गतिशील हैं और आप जो भी गुब्बारा आइकन चाहते हैं उसे बना सकते हैं। बस यूआरएल बदलें।

संबंधित मुद्दे