2017-03-29 1 views
2

사용자가 위치를 사용자 지정할 수있을 때 마커를 만드는 활동이 있습니다. 이 활동이 끝나면 새로운 Google지도에 저장된 마커를 Google지도에 저장하려고합니다.수동으로 Google지도를 새로 고치는 방법은 무엇입니까?

onMapReady(GoogleMap googleMap) 

를하지만 제대로 작동하지 않습니다 :이 기능을 사용하고

(그래서 맵을 업데이트). 변경 사항을 보려면 앱을 닫았다가 다시 열어야합니다.

+0

시도 mMap.clear(); – Elsunhoty

답변

3

활동/단편에서 onResume을 덮어 쓰면 마커 작성 활동이 닫히면 작업을 수행 할 수 있습니다. GoogleMap 개체를 전역으로 설정하면 onMapReady과 같이지도를 업데이트 할 수 있습니다. 예를 들어 :

GoogleMap mGoogleMap; 

... 

...onMapReady(GoogleMap googleMap){ 

    mGoogleMap = googleMap; 

    ... 

} 

@Override 
public void onResume(){ 
    super.onResume(); 

    if(mGoogleMap != null){ //prevent crashing if the map doesn't exist yet (eg. on starting activity) 
     mGoogleMap.clear(); 

     // add markers from database to the map 
    } 
} 

당신은 당신의 마커 코드를 유지 관리하기가 더 onResumeonMapReady에 호출되는 함수에 추가하고 고려할 수 있습니다.

+0

onResume 함수에서'(GoogleMap googleMap)'을 어떻게 얻을 수 있습니까? mGoogleMap을 googleMap과 동일하게 만드시겠습니까? –

+0

@ mosómaci'onMapReady' 함수에서 'onResume' 코드가 실행될 때 map 객체가 사용되도록'googleMap'에'mGoogleMap'의 할당을 추가했습니다. – T3KBAU5

+0

감사합니다. 지금 받으십시오. –

관련 문제