2013-07-12 42 views
7

Tôi sử dụng mã sau để hiển thị một điểm đánh dấu ở mức thu phóng nhưng không đánh dấu điểm đánh dấu trung tâm trên bản đồ. Chỉ có một điểm đánh dấu bao giờ sẽ được hiển thị:Căn giữa điểm đánh dấu bản đồ trong Android

LatLng latLng = new LatLng(Latitude, Longitude); 
cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, 11.0f); 

Mã này sẽ tập trung nó nhưng nó không cung cấp bất kỳ zoom:

LatLngBounds bounds = latLngBuilder.build(); 
cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, 30); 

tôi cần phải tập trung và zoom.

Trả lời

7

Giá trị chính xác cho zoom là giữa 2.0 và 22.00.

Sau này bạn đã thêm dòng này

GoogleMap mMap; 
mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(latlng, 10)); 

Về phóng to, bạn có thể đọc tài liệu từ zoom: mức độ phóng mong muốn, trong khoảng 2,0-21,0. Giá trị dưới phạm vi này được đặt thành 2.0 và các giá trị ở trên được đặt thành 21.0. Tăng giá trị để phóng to. Không phải tất cả các khu vực đều có các ô ở mức thu phóng lớn nhất.

Bạn có thể kiểm tra điều này trên http://developer.android.com/reference/com/google/android/gms/maps/CameraUpdateFactory.html

3

này là bởi vì bạn cần phải di chuyển bạn camera cho CameraUpdateFactory bạn đã tạo, như thế này:

LatLng latLng = new LatLng(Latitude, Longitude); 
map.animateCamera(CameraUpdateFactory.newLatLng(latLng, 11); 

nếu bạn không muốn những hình ảnh động, sau đó bạn chỉ có thể sử dụng:

map.moveCamera(CameraUpdateFactory.newLatLng(latLng, 11); 
+4

CameraUpdateFactory.newLatLng (LatLng, 11.0f) là không hợp lệ. Phương thức đó không lấy tham số thu phóng. Bạn cần newLatLngZoom – AndroidDev

+0

vâng tôi đã bỏ lỡ thực tế là anh ta đã vẽ một cái thu phóng nổi. –

21

Hãy thử sau

LatLng coordinate = new LatLng(Latitude, Latitude); 
CameraUpdate yourLocation = CameraUpdateFactory.newLatLngZoom(coordinate, 11.0f); 
map.animateCamera(yourLocation); 

Bạn cũng có thể làm điều này (dọn dẹp)

CameraPosition cameraPosition = new CameraPosition.Builder() 
    .target(Latitude, Latitude) // Center Set 
    .zoom(11.0f)    // Zoom 
    .bearing(90)    // Orientation of the camera to east 
    .tilt(30)     // Tilt of the camera to 30 degrees 
    .build();     // Creates a CameraPosition from the builder 
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); 

Từ https://developers.google.com/maps/documentation/android/views?hl=fr-FR#moving_the_camera

+0

Tôi đã đưa ra câu trả lời này. –

+0

Có, tôi đã thấy nó sau khi tôi đăng nó – eMi

+0

để bạn có thể muốn loại bỏ một câu trả lời trùng lặp. –

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