ボタンを押すとテキストビューに表示される地図の中心 (google maps api v2) の緯度と経度を取得しようとしています。しかし、それはクラッシュし続けます。私はいくつかのことを試しましたが、これが私には最適に見えますが、ボタンを押すとクラッシュします:
次の行でクラッシュすると思います: MapView mapView = (MapView)findViewById(R.id.map); (onClickで他のすべてを削除しようとしたが、それでもクラッシュするため)
ジャワ:
public class Main extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());
final GoogleMap map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
.getMap();
map.setMyLocationEnabled(true);
final TextView latitudeTV = (TextView) findViewById(R.id.latitude);
final TextView longitudeTV = (TextView) findViewById(R.id.longitude);
Button buttonCoor = (Button) findViewById(R.id.getCoor);
buttonCoor.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
MapView mapView = (MapView)findViewById(R.id.map);
GeoPoint mapCenter = mapView.getMapCenter();
int latInt = mapCenter.getLatitudeE6();
int lonInt = mapCenter.getLongitudeE6();
latitudeTV.setText(latInt);
longitudeTV.setText(lonInt);
}
});
}
コードの何が問題になっていますか?
APIキーが原因でエミュレーターで実行できないため、logcat情報を取得できません。
ありがとうございました
アップデート:
これも試しましたが、同じ結果です(ボタンを押すとクラッシュします)
MapView mapView = (MapView)findViewById(R.id.map);
GeoPoint mapCenter = mapView.getProjection().fromPixels(
mapView.getWidth()/2,
mapView.getHeight()/2);
final int lat = mapCenter.getLatitudeE6();
final int lon = mapCenter.getLongitudeE6();