Good Day.Im尝试使用map.getMyLocation()
获取当前位置,但肯定会收到NullPointerException,因为我的位置未加载一段时间。所以我正在执行MapReady检查和MapLoaded检查哪些触发器一旦映射就绪,并加载,但不幸的是我的当前位置,似乎我永远不会知道它什么时候available.Here是我的代码片段,我可能会做普通的空检查。Android Google Maps Api v2当前位置Null
@Override
public void onMapLoaded() {
//here my map is loaded so this triggers.
if(map.getMyLocation()!=null){
//do something here.
}
}
但似乎因为一旦我上面写的方法触发它不等待我的,如果条件我的空检查就永远不会只是工作的只是检查,如果它没有满足我的,如果条件只是在看它,所以我的如果条件从来没有触发。问题是,我怎么能通知当我的位置启用?我甚至试图把这个到while()
循环,但它的冻结,如果我在UI thread
做,并且不会让我做任何事情,如果我在一个THREAD
因为谷歌地图需要在MainThread
上完成。所以我的问题是接下来,我可以通知世界上我的位置是否为空或不是?我怎样才能触发一段代码,一旦它不是NULL
?
意味着你要检查您的GPS设备是打开还是关闭? – 2015-03-25 07:18:15
不,我事先做了检查,意味着我无法预测当前位置的蓝色圆圈何时可用,但似乎GOOGLE'CLEVER'的大脑没有得到这一点,所以我需要一旦触发蓝色当前位置的圈显示在地图上,我无法在Google地图API中找到.. – 2015-03-25 07:33:01
好的,当地图加载时,您想要转到您的当前位置? – 2015-03-25 07:36:40