Android 更新mapview上的当前位置,但locatinListenor正在使用中

Android 更新mapview上的当前位置,但locatinListenor正在使用中,android,locationlistener,Android,Locationlistener,我有一个mapActivity,在这里我注册了我的MapView小部件,我正在运行一个在后台检查位置数据的服务。我通过广播接收器在mapactivity中启动服务,如下所示 public class MainActivity extends MapActivity { private MapView view; protected void onCreate(Bundle savedInstanceState) { view = (MapView) fin

我有一个mapActivity,在这里我注册了我的MapView小部件,我正在运行一个在后台检查位置数据的服务。我通过广播接收器在mapactivity中启动服务,如下所示

  public class MainActivity extends MapActivity {

    private MapView view;

   protected void onCreate(Bundle savedInstanceState) {

        view = (MapView) findViewById(R.id.themap);
    view.setBuiltInZoomControls(true);

    Intent in = new Intent();
    MyReceiver locationRecvr = new MyReceiver();
    locationRecvr.onReceive(getApplicationContext(), in);

  }
 ......................

 }
myReveiver.java

 public class MyReceiver extends BroadcastReceiver {
  @Override
   public void onReceive(Context context, Intent intent) {
       Toast.makeText(context, "MyReceiver Started..",Toast.LENGTH_SHORT).show();
       Log.v("Debug", "MyReceiver Started..");
       Intent myIntent=new Intent(context, ServiceLocation.class);        
       context.startService(myIntent);
}
 }
myservice和LocationListener就是这样的

  public class ServiceLocation extends Service implements LocationListener {
       ......
       ..... 
       .... 
  }
我的问题是当位置发生更改时,如何在mapview上更改该位置如何在onLocationchanged()方法中获取mapview引用,或者如何向mapActivity发送纬度和经度


提前感谢

在位置侦听器中更新用户位置时发送广播。 并更新地图中的位置。
在广播意图中,您还可以传递更新的位置。

通过您的服务,您可以向MapActivity发送Lat/Longs。 您可以从那里开始MapActivity,方法是将圈数/长数放入Intent Extra

在地图活动中--


我们需要使用locationManager和LocationUpdate作为

locationManager.requestLocationUpdates(provider, 400, 1, this);
我们可以根据需要设置表示距离和时间的参数。 然后我们应该定义一个函数

public void onLocationChanged(Location location)
{
}

有关更多信息

谢谢您的回复。你能解释一下我如何在mapactivity plz中发送和接收……试着实现广播接收器。查找braodcast Receicever请告诉我在哪里必须编写这些函数,在mapActivity中或在我实现LocationListener的服务类中?您必须在mapActivity中编写上述两个函数。每当您的服务从LocationListener获得新的更新时,它都会向MapActivity发送最新的lat/long。
public void onLocationChanged(Location location)
{
}