gpt4 book ai didi

安卓自定义MapView

转载 作者:太空狗 更新时间:2023-10-29 14:33:04 25 4
gpt4 key购买 nike

我正在尝试创建 MapView 的扩展版本。

问题是定义了 MapView 的扩展版本时,mapview 不会平移。

我正在我的自定义 map View 中实现一个onTouchListener

我也想知道有什么方法可以平移 map View 。

当原始版本的 MapView 与相同的源代码一起使用时,问题不会持续存在。

编辑

MyMapView 来源:

public class MyMapView extends MapView{

public MyMapView(Context context, String apiKey) {
super(context, apiKey);

}
public MyMapView(Context context, AttributeSet attrs) {
super(context, attrs);

}
public MyMapView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);

}

@Override
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN){
Log.v("MyMapView","Touched");
}

return false ;
}



}

我的 onCreate() 来自 MapActivity

protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.mapper);
mMapView=(MyMapView) findViewById(R.id.mapper_map);
mMapView.setSatellite(false);

}

最佳答案

您的 onTouchEvent() 应该返回 false,否则它将消耗该事件。

您还可以实例化一个 MapController 并使用它来更改 View 。这是我正在开发的应用程序的代码 fragment :

    @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapview);

myMapView = (MapView) findViewById( R.id.myMapView );
myMapView.setBuiltInZoomControls( true );
myMapController = myMapView.getController();

myPoint = new GeoPoint(0, 0);
myMapController.setCenter( myPoint );
myMapController.zoomToSpan( 360 * MILLION, 360 * MILLION );
}

关于安卓自定义MapView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4668244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com