2010-03-19 15 views
7

मै मैप व्यू पर काम कर रहा हूं। मैं मानचित्र दृश्य पर ओवरले आइटम रखना चाहता हूं। कि ओवरले आइटम सभी वर्तमान में मानचित्र दृश्य और ज़ूम स्तर दिखाने पर निर्भर करते हैं। वर्तमान नक्शा दृश्य की रेखांश और उस चार कोने के अक्षांश को कैसे प्राप्त करें और इसका विश्लेषण कैसे करें इसके अंदर कितने ओवरले आइटम का विश्लेषण करें। हमें आपको ज़ूम स्तर की जांच भी करनी है। कोई विचार? इसे कैसे करना है?एंड्रॉइड में मैपव्यू में चार कोनों के लंबे और अक्षांश मूल्य को कैसे प्राप्त करें?

उत्तर

11

मुझे लगता है कि आप

mapview.getProjection().frompixel(intx, int y) 

अपनी स्क्रीन के 4 कोनों के लिए उपयोग करने के लिए (यदि आप अपने MapView पर getwidth और getheight द्वारा उनके निर्देशांक प्राप्त कर सकते हैं और (0,0), (getwidth के साथ शुरू (), 0), (0, getheight()) और (getwidth(), getheight())

यह आपको 4 geopoints जिसमें से आप अक्षांश और देशांतर निकाल सकते हैं

+0

धन्यवाद Sephy:

this.getMap() आप GoogleMap का उदाहरण सिर्फ दे देंगे (जो MapView लपेटता)

तो। – Praveen

+1

आपका स्वागत है, वास्तव में मुझे जवाब के जवाब का कोई अंदाजा नहीं था जब मैंने आपका प्रश्न देखा लेकिन यह मेरी रूचि को ट्रिगर कर दिया और मैंने इसकी तलाश की – Sephy

6

आप की तरह कुछ के लिए देख रहे दे देंगे यह?

Projection proj = mapView.getProjection(); 
GeoPoint topLeft = proj.fromPixels(0, 0); 

GeoPoint bottomRight = proj.fromPixels(mapView.getWidth()-1, mapView.getHeight()-1); 

double topLat = topLeft.getLatitudeE6()/1E6; 
double topLon = topLeft.getLongitudeE6()/1E6; 
double bottomLat = bottomRight.getLatitudeE6()/1E6; 
double bottomLon = bottomRight.getLongitudeE6()/1E6; 

उम्मीद है कि यह मदद करता है!

6

यदि आप विशेष रूप से google-play-services लाइब्रेरी और SupportMapFragment का उपयोग कर रहे हैं। उर त्वरित प्रतिक्रिया के लिए

map.getProjection().getVisibleRegion();