2010-03-19 24 views
7

tôi đang làm việc trên chế độ xem bản đồ. tôi muốn đặt mục lớp phủ trên chế độ xem bản đồ. tất cả các mục lớp phủ đều phụ thuộc vào hiện đang hiển thị chế độ xem bản đồ và mức thu phóng. cách lấy kinh độ và vĩ độ của chế độ xem bản đồ hiện tại của bốn góc đó và cách phân tích số lượng mục lớp phủ bên trong nó. chúng ta cũng phải kiểm tra mức thu phóng. làm thế nào để làm nó?làm thế nào để có được giá trị dài & lat của bốn góc trong mapview trong android?

Trả lời

11

Tôi nghĩ rằng bạn phải sử dụng

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

Đối với 4 góc của màn hình của bạn (bạn có thể lấy tọa độ của họ bằng cách getWidth và getheight trên MapView của bạn, và bắt đầu với (0,0), (getWidth (), 0), (0, getheight()) và (getWidth(), getheight())

này sẽ cung cấp cho bạn 4 geopoints mà từ đó bạn có thể trích xuất vĩ độ và kinh độ

+0

nhờ Sephy cho phản ứng nhanh chóng ur. – Praveen

+1

Bạn được chào đón, thực sự tôi không biết câu trả lời của câu trả lời khi tôi nhìn thấy câu hỏi của bạn nhưng nó đã kích hoạt sự quan tâm của tôi và tôi đã tìm kiếm nó – Sephy

6

bạn đang tìm kiếm cái gì đó như này?

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; 

Hy vọng điều đó sẽ hữu ích!

6

Nếu bạn đang sử dụng thư viện google-play-services và cụ thể là SupportMapFragment.

this.getMap() sẽ cung cấp cho bạn thể hiện của GoogleMap (mà kết thúc tốt đẹp MapView)

Sau đó chỉ cần:

map.getProjection().getVisibleRegion();

Các vấn đề liên quan