我想通过谷歌地图检测用户位置并按照谷歌教程进行操作,但出现错误 在第 6 行的 method(getController) 中,错误详细说明方法 getController() is undefined for the type MapView
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ogenia);
MapView view = (MapView) findViewById(R.id.map);
final MapController control = view.getController();
LocationManager Manager = (LocationManager) this
.getSystemService(Context.LOCATION_SERVICE);
LocationListener listener = new LocationListener() {
public void onStatusChanged(String provider, int status,
Bundle extras) {
// TODO Auto-generated method stub
}
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onLocationChanged(Location location) {
control.setCenter(new GeoPoint((int) location.getLatitude(),
(int) location.getLongitude()));
}
};
Manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
listener);
}
最佳答案
Android 有两个 Maps API。
一个是 Maps V1。它的类位于 com.google.android.maps
包中。 Maps V1 已弃用,不应用于新应用。
另一个是 Maps V2。它的类位于 com.google.android.gms.maps
包中。
您正试图将两者融合。 这行不通。
我建议您花一些时间阅读 the documentation for Maps V2并专注于此,从您的代码中删除对 Maps V1 类的所有引用。
关于android - 方法 getController() 未为类型 MapView 定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19411602/