Ben*_*Ben 3 android mapactivity android-mapview
我只是想让mapview识别出一个点击,以便调用另一个活动.
到目前为止,我尝试了常规的"onClick",它总是在常规视图中为我工作,然后覆盖"onTouchEvent",最后但并非最不重要的是使用onClickListener.
我将以下三种方式都放入以下代码中.任何帮助都非常感谢.
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
public class HelloMapView extends MapActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
final MapView map;
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
map = (MapView) findViewById(R.id.mapview);
map.setOnClickListener(new MapView.OnClickListener() {
public void onClick(View v){
System.out.println("I listened!");
}
});
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
@Override
public boolean onTouchEvent(MotionEvent arg0) {
System.out.println("onTouchEvent happened!");
super.onTouchEvent(arg0);
return super.onTouchEvent(arg0);
}
public void onClick(){
System.out.println("onClick entered!");
}
}
Run Code Online (Sandbox Code Playgroud)
Giv*_*ivi 10
我知道这是一个很老的问题,但是:
mMapView.getMap().setOnMapClickListener(new OnMapClickListener()
{
@Override
public void onMapClick(LatLng arg0)
{
android.util.Log.i("onMapClick", "Horray!");
}
});
Run Code Online (Sandbox Code Playgroud)
会做的伎俩.
在地图视图中添加叠加并处理OnTouchEvent.尝试这样的事情:
public class MyMapActivity extends MapActivity {
class MapOverlay extends com.google.android.maps.Overlay
{
@Override
public boolean onTouchEvent(MotionEvent e, MapView mapView)
{
if (e.getAction() == MotionEvent.ACTION_UP) {
GeoPoint p = mapView.getProjection().fromPixels(
(int) e.getX(),
(int) e.getY());
MyMapActivity this.startActivityForResult(intent, requestCode);
}
return false;
}
}
// MyMapActivity methods
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mapView = (MapView) findViewById(R.id.mapview);
MapOverlay mapOverlay = new MapOverlay();
List<Overlay> listOfOverlays = mapView.getOverlays();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6155 次 |
| 最近记录: |