使用服务活页夹在同一活动中更新TextViews和Google Maps

时间:2012-09-10 18:32:39

标签: android google-maps service gps handler

我有一些TextViews活动,我使用后台运行的服务中的当前值进行更新。 如果我只更新TextViews,这很好。 我从服务到活动也得到当前的LAT和LONG,因为我在后台录制了驱动距离。

现在我想在我的价值观下展示一张小地图,这样我才能看到我的位置。 但是当我添加地图时,TextViews只会更新一次,直到我认为地图开始。只有地图正在更新,但TextViews不再更新。

我做错了什么?

我的活动中的服务活页夹:

// Bind to LocalService
    Intent intent = new Intent(Dashboard.this, GPSService.class);
    bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
    mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            try{
                if (mService.StartadressFlag==1){
                    doUpdate(); //This updates the TextViews with values from service
                    callMap(); //This calls the map with LAT and LONG from service
                }
                mHandler.sendEmptyMessageDelayed(MSG_UPDATE, UPDATE_RATE_IN_MS);
            }
            catch(final Exception ex){
                //damn
                Log.e("Dashboard", "Error in activity", ex);  // log the error
            }

        }
    };
    MapView mapView = (MapView) findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(true);
    mapView = (MapView) findViewById(R.id.mapview);
    // enable Street view by default
    mapView.setStreetView(true);      
    // enable to show Satellite view
    // mapView.setSatellite(true);
    // enable to show Traffic on map
    // mapView.setTraffic(true);
    mapView.setBuiltInZoomControls(true);     
    mapController = mapView.getController();
    mapController.setZoom(16);

我做错了什么?

1 个答案:

答案 0 :(得分:0)

好吧,自己想通了。 我在地图活动中添加了自己的GPS-Listener。所以我不需要在地图的活页夹中获得LAT和LONG。一切都运转正常。