Android 애플리케이션에서 Google지도 API v2를 사용하여 간단한지도를 표시하려고합니다. Map API Documentation 지침을 따르고 있습니다. 그러나 나는 onMapReady
이 어떤 이유로 전화하지 않는다고 생각합니다. 나는 google-play-services_lib
버전 6587000
을 사용하고 있습니다. 제 휴대 전화는 google-play-services_lib
ver365 6587038
입니다.지도가 오류없이 표시 되더라도 onMapReady가 호출되지 않습니다.
Google지도는 초기 컨트롤을 사용합니다. 누군가이 오류를 해결하도록 도와 줄 수 있습니까?
public class MapDisplay extends FragmentActivity
implements OnMapReadyCallback {
private GoogleMap mMap;
private Location mCurrentLocation;
private MarkerOptions mMarkerOptions ;
private MapFragment mMapFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.location_map);
/** not needed
mMapFragment = MapFragment.newInstance();
FragmentTransaction fragmentTransaction =
getFragmentManag
er().beginTransaction();
fragmentTransaction.add(R.id.map, mMapFragment);
fragmentTransaction.commit();*/
/**corrected code*/
MapFragment mapFragment = (MapFragment) getFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
toast("Map ready");
Log.d("--***** MAP ","::Map ready");
LatLng sydney = new LatLng(-33.867, 151.206);
map.setMyLocationEnabled(true);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 13));
map.addMarker(new MarkerOptions()
.title("Sydney")
.snippet("The most populous city in Australia.")
.position(sydney));
}
private void toast(String text){
Toast toast = Toast.makeText(this, text, Toast.LENGTH_SHORT);
toast.show();
}
}
location_map.xml 파일
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
추가 getMapAsync을(). 지금 onMapReady가 작동 중입니다. – SAN
@SAN : "getMapAsync() throw and error"- 아마도 Stack Overflow 질문을 통해 문제가 발생한 문제에 대한 도움을 얻는 방법을 고려해야합니다. "그래서 나는 사용해야했다"- 그래서? AFAIK, 당신은 여전히'getMapAsync()'를 호출 할 필요가있다. 게다가 이제는 두 개의 * MapFragment 인스턴스가 있습니다. 다음은'getMapAsync()'를 정적'MapFragment'와 함께 사용하는 예제 프로젝트입니다 : https://github.com/commonsguy/cw-omnibus/tree/master/MapsV2/NooYawk – CommonsWare
someOne에 도움이 될 것입니다. 그렇지 않으면 xml에서
Nepster