首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >locationListener的问题

locationListener的问题
EN

Stack Overflow用户
提问于 2011-08-31 20:06:42
回答 1查看 502关注 0票数 0

应用程序没有指向我所在的位置at..here是我所做的:

代码语言:javascript
复制
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mv=(MapView) findViewById (R.id.mapView);
    mv.setBuiltInZoomControls(true);
   // mv.setSatellite(true);
    mv.setStreetView(true);


lmanager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
    llistener=new MyLocationListener();
    lmanager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, llistener);

}

private class MyLocationListener implements LocationListener
{

    @Override
    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub
        if(location!=null)
        {
            Toast.makeText(getBaseContext(),"Location changed: "+location.getLatitude()+" lang: "+ location.getLongitude() , Toast.LENGTH_SHORT).show(); // no toast is shown
        }
         p=new GeoPoint((int)(location.getLatitude()*1E6), (int)(location.getLongitude()*1E6));
        mapC.animateTo(p);
        mapC.setZoom(18);//no zooming happens
    }



@Override
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }

我在清单中添加了这两项:

代码语言:javascript
复制
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-31 20:27:57

首先,我为自己糟糕的英语感到抱歉。更改位置并将值设置到地图中时,需要使用MapView类的invalidate()方法使地图无效,以便可以在地图上获取更新后的值

代码语言:javascript
复制
mapC.animateTo(p);
mapC.setZoom(18);
mv.invalidate();

以及在初始时间设置到地图中的值之后添加,如下所示

代码语言:javascript
复制
mv.setBuiltInZoomControls(true);
mv.setStreetView(true);
mv.invalidate();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7256692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档