android - GPS 安卓错误!

标签 android google-maps

我尝试在这里创建一个小例子来测试 GPS

package org.example.location;

import com.google.android.maps.MapActivity;

import android.app.Activity;
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;

public class WhereAmI extends MapActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    LocationManager locationManager;
    String context = Context.LOCATION_SERVICE;
    locationManager = (LocationManager)getSystemService(context);
    //String provider = LocationManager.GPS_PROVIDER;
    Criteria criteria = new Criteria();
    criteria.setAccuracy(Criteria.ACCURACY_FINE);
    criteria.setAltitudeRequired(false);
    criteria.setBearingRequired(false);
    criteria.setCostAllowed(true);
    criteria.setPowerRequirement(Criteria.POWER_LOW);
    String provider = locationManager.getBestProvider(criteria, true);

    Location location = locationManager.getLastKnownLocation(provider);
    updateWithNewLocation(location);

    locationManager.requestLocationUpdates(provider, 2000, 10, locationListener);
}

private void updateWithNewLocation(Location location) {
    String latLongString;
    TextView myLocationText;
    myLocationText = (TextView)findViewById(R.id.myLocationText);
    if (location != null) {
        double lat = location.getLatitude();
        double lng = location.getLongitude();
        latLongString = "Lat:" + lat + "\nLong:" + lng;
    } else {
        latLongString = "No location found";
    }
    myLocationText.setText("Your Current Position is:\n" +latLongString);
}

private final LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
    updateWithNewLocation(location);
    }
    public void onProviderDisabled(String provider){
    updateWithNewLocation(null);
    }
    public void onProviderEnabled(String provider){ }
    public void onStatusChanged(String provider, int status,
    Bundle extras){ }
    };

@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
}

当我运行它时,它在 log cat 中什么也没有给出

07-19 13:04:46.372: WARN/System.err(430): IOException processing: 26
07-19 13:04:46.381: WARN/System.err(430): java.io.IOException: Server returned: 3
07-19 13:04:46.401: WARN/System.err(430):     at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
07-19 13:04:46.421: WARN/System.err(430):     at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
07-19 13:04:46.451: WARN/System.err(430):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
07-19 13:04:46.471: WARN/System.err(430):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
07-19 13:04:46.491: WARN/System.err(430):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
07-19 13:04:46.511: WARN/System.err(430):     at java.lang.Thread.run(Thread.java:1019)

这里是 list 文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="org.example.location"
  android:versionCode="1"
  android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="com.google.android.maps"/>
    <activity android:name=".WhereAmI"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

</application>

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
</manifest>

有什么想法吗??

最佳答案

您是否在 AndroidManifest.xml 中设置了适当的权限?

[更新] 您是否提供了有效且已注册的 Google map key ?我相信这就是问题所在。

[更新] 查看本教程:http://www.pocketvnc.com/blog/?page_id=511了解如何注册和提供 Google map key 。

关于android - GPS 安卓错误!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6742961/

相关文章:

android - 谷歌地图 APIv2 : Failed to find provider info for com. google.settings。已设置 API key 和互联网权限

android - FileObserver 实例正在被垃圾收集

android - 停止在 android 中执行定时器任务的 Intent 服务

javascript - Firebase 函数。https.onCall 返回 null

Python/Google map API - 超时错误 : [Errno 60] Operation timed out when calling a function from the terminal

jquery - Google map LatLong 选择器 - 1 个字段中的 latlong

android - 删除 SD 卡中的图像副本

java - 如何从回调函数返回某些内容给父函数

python - 将我的 Google Geocoding API key 与 Python 地理编码器一起使用

android - 如何在 Android Marshmallow 上的 Google map 上显示当前位置?