使用mapView时,runOnFirstFix会抛出空指针异常,因为MyLocOverlay.getMyLocation()
为空。但是,这不应该发生,因为当位置为null时,runOnFirstFix不应该运行。这是怎么回事?
myLocOverlay.runOnFirstFix(new Runnable() { public void run() {
map.getController().animateTo(myLocOverlay.getMyLocation());
}
我正在使用模拟器运行此代码,所以可能是模拟器问题?
答案 0 :(得分:1)
我没有查看过这个API,但为什么不将该调用包装在if块中,以检查该位置是否为空?
if (myLocOverlay.getMyLocation() != null) {
myLocOverlay.runOnFirstFix(new Runnable() { public void run() {
map.getController().animateTo(myLocOverlay.getMyLocation());
}
}
更重要的是,如果您使用的是模拟器,则需要确保从DDMS角度提供模拟器gps修复程序,本教程将解释如何: