2012-12-06 23 views
14

के लिए Google मानचित्र V2 में अक्षांश/देशांतर अवधि कैसे प्राप्त करें मेरे पास Google ऐप एंड्रॉइड एपीआई V2 पर मेरे ऐप को स्थानांतरित करने का कार्य है। अब, मुझे अक्षांश/देशांतर अवधि प्राप्त करने की आवश्यकता है। मैंने पिछले संस्करण एपीआई में MapView.getLatitudeSpan() और MapView.getLongitudeSpan() का उपयोग किया था। अब मुझे वी 2 में ऐसा कुछ नहीं मिल रहा है।एंड्रॉइड

किसी को भी एक ही समस्या है?

उत्तर

24

आप अक्षांश/एलएनजी अवधि पाने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं।

+0

हम नक्शा दृश्य भाग के केंद्र प्राप्त कर सकते हैं:

LatLngBounds bounds = gMap.getProjection().getVisibleRegion().latLngBounds; 

और फिर पूछते हैं कि किसी भी बिंदु सीमा में है लैट एलएनजी – Prasad

+0

बहुत बढ़िया! धन्यवाद। – Deciantis

6

पहले GoogleMap.getProjection() का उपयोग करके एक प्रक्षेपण प्राप्त करें। फिर आप एक VisibleRegion प्राप्त करने के लिए Projection.getVisibleRegion() पर कॉल कर सकते हैं जिसमें LatLngBounds है।

कारण अक्षांशस्पैन और रेखांश का अर्थ अब समझ में नहीं आता है क्योंकि नक्शा अब घूर्णन और झुका हुआ हो सकता है और इसलिए व्यूपोर्ट मानचित्र पर अक्षांश/देशांतर संरेखित आयताकार नहीं है।

VisibleRegion vr = mMap.getProjection().getVisibleRegion(); 
double left = vr.latLngBounds.southwest.longitude; 
double top = vr.latLngBounds.northeast.latitude; 
double right = vr.latLngBounds.northeast.longitude; 
double bottom = vr.latLngBounds.southwest.latitude; 

मुझे आशा है कि इस मदद करता है:

1

यहाँ जवाब

LatLngBounds bounds = googleMap.getProjection().getVisibleRegion().latLngBounds; 
if (bounds.contains(ROMA)) { 
    marker = googleMap.addMarker(
    new MarkerOptions() 
     .position(ROMA) 
     .title("Hello") 
     .snippet("Nice Place") 
     .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher)) 
    );  
    System.out.println("Marker added"); 
} 

मार्कर जोड़ें केवल जब यह दृश्यमान क्षेत्र

3

इस तरह से होता है मेरे लिए काम करता है:

CameraPosition camPos2 = mapa.getCameraPosition(); 
LatLng pos = camPos2.target; 
Toast.makeText(MainActivity.this,"Lat: " + pos.latitude + " - Lng: " +pos.longitude, Toast.LENGTH_LONG).show(); 


ओह, मैंने सवाल को गलत समझा, मेरा मतलब है कि मैंने "अवधि" शब्द नहीं देखा था। अनुसार API सही होगा:

पहले सीमा मिलती है:

LatLng point = new LatLng (latitude, longitude); 
if(bounds.contains(point)){ 
    //do something 
}