Tôi muốn thêm điểm đánh dấu trên bản đồ với nhấp chuột dài. nhưng nó không hoạt động. nhấp chuột bình thường đang hoạt động. Toast
trong onMapClick()
được hiển thị với nhấn bình thường. nhưng nhấp chuột dài không hoạt động. Toast
trong onMapLongClick()
không được hiển thị với nhấp chuột dài. cũng đánh dấu không được hiển thị trên bản đồ.Google Maps API Android v2 phát hiện nhấp chuột dài trên bản đồ và thêm điểm đánh dấu không hoạt động
Tôi đang sử dụng SupportMapFragment
vì tôi muốn sử dụng ứng dụng của mình trên các thiết bị Android 2.x. Tôi đã thử nghiệm ứng dụng của mình trên ứng dụng nexus có phiên bản Android 2.3.7.
Đây là mã của tôi.
public class MainActivity extends FragmentActivity implements
OnMapClickListener, OnMapLongClickListener {
final int RQS_GooglePlayServices = 1;
private GoogleMap myMap;
Location myLocation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager myFragmentManager = getSupportFragmentManager();
SupportMapFragment mySupportMapFragment = (SupportMapFragment) myFragmentManager
.findFragmentById(R.id.map);
myMap = mySupportMapFragment.getMap();
myMap.setMyLocationEnabled(true);
myMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
// myMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
// myMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
// myMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
myMap.setOnMapClickListener(this);
myMap.setOnMapLongClickListener(this);
}
@Override
protected void onResume() {
super.onResume();
int resultCode = GooglePlayServicesUtil
.isGooglePlayServicesAvailable(getApplicationContext());
if (resultCode == ConnectionResult.SUCCESS) {
Toast.makeText(getApplicationContext(),
"isGooglePlayServicesAvailable SUCCESS", Toast.LENGTH_LONG)
.show();
} else {
GooglePlayServicesUtil.getErrorDialog(resultCode, this,
RQS_GooglePlayServices);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onMapClick(LatLng point) {
myMap.animateCamera(CameraUpdateFactory.newLatLng(point));
Toast.makeText(getApplicationContext(), point.toString(),
Toast.LENGTH_LONG).show();
}
@Override
public void onMapLongClick(LatLng point) {
myMap.addMarker(new MarkerOptions().position(point).title(
point.toString()));
Toast.makeText(getApplicationContext(),
"New marker [email protected]" + point.toString(), Toast.LENGTH_LONG)
.show();
}
}
Làm cách nào tôi có thể giải quyết vấn đề này?