2011-07-12 6 views
1

MyLocOverlay.getMyLocation()がnullであるため、mapViewを使用すると、runOnFirstFixはNULLポインタ例外をスローします。ただし、場所がnullのときにrunOnFirstFixを実行しないでください。何が起きてる?runOnFirstFixが実際に最初の場所で実行されていない

myLocOverlay.runOnFirstFix(new Runnable() { public void run() { 
    map.getController().animateTo(myLocOverlay.getMyLocation());     
} 

私はこのコードを実行するためにエミュレータを使用しているので、おそらくエミュレータの問題ですか?

答えて

1

私はこのAPIを検討していませんが、場所がnullかどうかをチェックするifブロックでその呼び出しをラップしないのはなぜですか?

You Are Here: Using GPS and Google Maps in Android

+0

I:あなたがエミュレータを使用している場合

if (myLocOverlay.getMyLocation() != null) { myLocOverlay.runOnFirstFix(new Runnable() { public void run() { map.getController().animateTo(myLocOverlay.getMyLocation()); } } 

そして、もっと重要なのは、あなたはエミュレータがDDMSの観点から修正のGPS給されていることを確認する必要があり、このチュートリアルでは、どのように説明して私はちょうどそれがnullかどうかを確認することができます知っている。しかし、runnableは 'null 'でないときに実行する必要があるため、' null'にする必要はありません。私は、それが解決策ではなく、そのように行動している理由に、より関心を持っていました。しかし、情報をありがとう。 –

+0

どのようにエミュレータの位置を教えていますか? – nickfox

+0

Eclipseのエミュレータコントロールビューから座標を手動で設定しています。 –

関連する問題