현재 단말기는 옵티머스Q를 사용하고 있습니다.
원래 안드로이드 2.1 이었으나 2.2 로 업그레이드 해논상태이구요.
안드로이드 예제를 실습중인데, 소스는 이렇습니다.
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
public class KGUCampus extends MapActivity {
LocationListener mLocationListener;
MapView mapView;
MapController mc;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView)findViewById(R.id.KGUMap);
mapView.setBuiltInZoomControls(true);
mapView.setSatellite(true);
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
mc = mapView.getController();
mLocationListener = new LocationListener() {
public void onLocationChanged(Location location) {
if(location != null)
{
Toast.makeText(getBaseContext(),
"위도는 " + location.getLatitude() + ", " + "경도는 " +
location.getLongitude() + " 입니다.", Toast.LENGTH_LONG).show();
GeoPoint gp = new GeoPoint((int)(location.getLatitude() * 1000000), (int)(location.getLongitude() * 1000000));
mc.animateTo(gp);
mc.setZoom(14);
}
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
}
};
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2, 3, mLocationListener);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
@Override
public void onDestroy() {
super.onDestroy();
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
lm.removeUpdates(mLocationListener);
}
}
메니페스트에서 권한도 모두 추가해줬고, 외부라이브러리도 사용하고요.
그리고 빌드타켓을 GoogleAPI 2.2 APILevel 8 로 해논상태입니다.
옵티머스큐로 옴겨서 실행시켜보면, 액티비티는 실행이 되고,
주기적으로 현재 위도와 경도를 표시해주나, 화면맵이 제대로 출력되지 않습니다.
흰색타일만 나오구요. 왜그런거죠?




실 단말기에서 지도를 보시려면 서명된 keystore를 사용하셔서 릴리즈용 API KEY를 얻어내야 합니다.