通过按下按钮在MapView上创建位置叠加

时间:2012-03-18 02:39:04

标签: android location

目前,我的应用有一个mapview,可在new MyLocationOverlay函数中创建onCreate

locationOverlay = new MyLocationOverlay(this, map);
locationOverlay.runOnFirstFix(centerAroundFix);
map.getOverlays().add(locationOverlay);

我正在尝试创建一个可选的按钮,就像谷歌地图一样。这是我到目前为止所做的。

ImageButton locButton = (ImageButton)findViewById(R.id.googlemaps_select_location);

locButton.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        locationOverlay = new MyLocationOverlay(ctx, map);
        locationOverlay.runOnFirstFix(centerAroundFix);
        map.getOverlays().add(locationOverlay);
    }
});

我唯一需要改变的是'this'到'ctx'。我在ctx = this函数中设置了onCreate()。我也尝试使用getApplicationContext()代替ctx

使用调试器,我打破了onClick()功能,可以逐步完成。点击运行后,我telnet到模拟器并使用geo fix命令向模拟器发出修复。不幸的是,永远不会调用centerAroundFix()。不确定我做错了什么,这里......

1 个答案:

答案 0 :(得分:0)

我通过移动来解决这个问题 locationOverlay = new MyLocationOverlay(ctx, map)onCreate()函数。

如果locationOverlay函数内有onClick(),可能会收集垃圾?