ユーザーが地図をクリックしたときにマーカーを配置しようとしています。SupportMapFragment
の中で を使用していActionBarActivity
ます。しかし地図が反応せず、しかもmap.setMapType()
操作がうまくいかない。
これが私のコードです:
private GoogleMap map;
private Marker marker;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ActionBarActivity activity = (ActionBarActivity) getActivity();
activity.getSupportActionBar().setTitle(R.string.select_location);
super.onCreateView(inflater, container, savedInstanceState);
return inflater.inflate(R.layout.map, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Log.d("Map","On view created");
map = getMap();
map.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
map.setOnMapClickListener(new OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
Log.d("Map","Map clicked");
marker.remove();
drawMarker(point);
}
});
...
Location location = locationManager.getLastKnownLocation(provider);
if(location!=null){
//PLACE THE INITIAL MARKER
drawMarker(new LatLng(location.getLatitude(),location.getLongitude()));
}
}
Logcat は「on view created」メッセージを表示しており、マップにはマーカーで現在の場所が表示されているため、コードの最後の部分が実行されています。しかし、onMapClickListener
それは機能せず、マップは衛星ではないため、オーバーライドされているか何かです。
誰でも私を助けることができますか?