我正在使用Eclipse,而某些方法似乎不适用于GoogleMaps对象。
我已经导入了google-play-services_lib,确保我拥有最新版本的Google Play服务,并且我正在运行最新的API(版本4.4.2(API 19)。我也删除了所有这些API映射片段在我的测试设备上工作得很好。但是当我尝试实现诸如.setPadding()之类的方法时,我得到一个错误,即.setpadding未定义为GoogleMap对象。
它应该在这里: https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/GoogleMap#setPadding(int,int,int,int)
有什么想法吗?
public class MapDemo extends Activity实现了LocationListener {
GoogleMap googleMap;
GoogleMapOptions options = new GoogleMapOptions();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapdemo);
try {
initilizeMap();
} catch (Exception e) {
Log.e("ERROR", "ERROR IN CODE: " + e.toString());
e.printStackTrace();
}
}
private void initilizeMap() {
// Do a null check to confirm that we have not already instantiated the
// map.
if (googleMap == null) {
googleMap = ((MapFragment) getFragmentManager().findFragmentById(
R.id.map)).getMap();
googleMap.setMyLocationEnabled(true);
googleMap.setPadding(0,0,30,0); // **<--This method does not appear to be in the API!**
// Check if we were successful in obtaining the map.
if (googleMap != null) {
// The Map is verified. It is now safe to manipulate the map.
options.mapType(GoogleMap.MAP_TYPE_HYBRID)
.compassEnabled(false) .rotateGesturesEnabled(false)
.tiltGesturesEnabled(false) ;
} else {
Toast.makeText(getApplicationContext(),
"Sorry! unable to create maps", Toast.LENGTH_SHORT)
.show();
}
}
}
答案 0 :(得分:0)
您使用的是最新版本的Google Play服务库项目吗?根据Maps API更改日志,September 2013中添加了setPadding()
方法。
答案 1 :(得分:0)
所以我发现了问题。我导入的google-play-services_lib是从我手动下载的副本导入的,而不是由Android SDK Manager维护和更新的google-play-services_lib。现在,奇迹般地,我有新的方法!