私のコードの問題は何ですか。gpsで現在地を取得したいのですが、毎回latとlngが0.0です。
locationManager=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
locationListener=new LocationListener() {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onLocationChanged(Location location) {
latitude=location.getLatitude();
longitude=location.getLongitude();
CurrentPostion();
Toast.makeText(getApplicationContext(), latitude+"<(Lat,Lng)>"+longitude, Toast.LENGTH_SHORT).show();
}
};
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 15000, 0, locationListener);
メソッドCurrentPostionは、現在の位置の地図上にアイコンを描画します。
public void CurrentPostion(){
if(latitude!=0.0 && longitude!=0.0){
MarkerOptions options=new MarkerOptions();
options.position(new LatLng(latitude, longitude));
options.icon(BitmapDescriptorFactory.fromResource(R.drawable.myicon));
googleMap.addMarker(options);
CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(latitude,longitude)).zoom(17).build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
}
私はすべての権限を持っています:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Required to show current location -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
結果:
0.0 <(Lat、Lng)> 0.0
この行を変更してみてください
latitude=location.getLatitude();
longitude=location.getLongitude();
これのために
latitude = Double.toString(location.getLatitude());
longitude= Double.toString(location.getLongitude())
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加