0

我在地下室使用我的模拟器。此代码正在运行。但地图未显示当前位置。我还尝试从模拟器控件发送 lat long,但模拟器控件显示错误的 lat lon。

     package com.maps;
     import com.google.android.maps.GeoPoint;
     import com.google.android.maps.MapActivity;
     import com.google.android.maps.MapController;
     import com.google.android.maps.MapView;
     import android.content.Context;
     import android.location.Location;
     import android.location.LocationListener;
       @Override
       public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        MapView view= (MapView) findViewById(R.id.mapView) ;
        view.setBuiltInZoomControls(true);
        final MapController control=view.getController();
        LocationManager manager=(LocationManager)            this.getSystemService(Context.LOCATION_SERVICE);     
        LocationListener listener=new LocationListener() {          
    public void onStatusChanged(String provider, int status, Bundle extras) {   
            }           
            public void onProviderEnabled(String provider) {
                        }
        public void onProviderDisabled(String provider) {
                // TODO Auto-generated method stub
            }       
    };   
        manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);
    }
    @Override
    protected boolean isRouteDisplayed()
    {
        return true;
    }
}
4

2 回答 2

1

要获取 GPS,您必须在启动应用程序时第一次进入开放区域。地下室是完全覆盖的区域,因此像手机这样的 GPS 硬件很难获取 GPS 位置。然而,汽车中的 GPS 硬件也可以从地下室获取 GPS 信号。

此要求的另一种方法是获取cell-id并将其传递给 google 的反向 Api,这将为您提供结果中的 lat-lon。您可以从任何地方获取 cell-id,并且您可以看到地下室也有覆盖。您也可以访问我最近的回答,了解有关模拟器中 GPS 的更多详细信息。您也可以从此处下载示例 GPX 文件

于 2012-05-31T13:27:25.213 回答
0

您可能没有授予应用程序访问模拟位置权限。

<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION">
于 2012-05-31T13:25:36.003 回答