2016-01-18 16 views
6

tôi có phương pháp sau đây để cập nhật bản đồ của tôi:moveCamera và animateCamera không làm việc lần thứ hai

private void setCamera() { 
     if (currentLocation != null) { 
      String[] coords = currentLocation.split(",", 2); 
      CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(Double.parseDouble(coords[0]), Double.parseDouble(coords[1]))); 
      CameraUpdate zoom = CameraUpdateFactory.zoomTo(5); 
      mMap.moveCamera(center); 
      mMap.animateCamera(zoom); 
     } 
    } 

Lần đầu tiên tôi gọi phương pháp này ngay lập tức sau khi mở ứng dụng, và phương pháp này đang làm việc tốt. Nhưng sau đó tôi đi đến một mảnh khác rồi lại đến mảnh đầu tiên. Và trong trường hợp này, phương thức được gọi, currentLocation không bằng 0, center có đối tượng LatLng đúng, nhưng chế độ xem bản đồ của tôi không thay đổi và thu phóng nhỏ hơn 5. Điều gì là sai?

+0

Tôi đang gặp phải vấn đề tương tự. Bất kỳ may mắn? – user1406716

+0

@ user1406716, cuối cùng tôi đã giải quyết vấn đề này – Ksenia

Trả lời

3

Cuối cùng tôi đã giải quyết vấn đề này. Tôi đã thay đổi mã trước đó như sau:

private void setCamera() { 
     if (currentLocation != null) { 
      String[] coords = currentLocation.split(",", 2); 
      CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(Double.parseDouble(coords[0]), Double.parseDouble(coords[1]))); 
      CameraUpdate zoom = CameraUpdateFactory.zoomTo(5); 
      mapFragment.getMap().moveCamera(center); 
      mapFragment.getMap().animateCamera(zoom); 
     } 
    } 

Và bây giờ bản đồ được hiển thị chính xác.

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