安卓谷歌地图得到正确的位置不起作用



我正在尝试编写示例代码来测试应用程序中的谷歌地图API。一切看起来都不错,但是当我从我的应用程序打开谷歌地图时,它停止工作。

请给我一些帮助。

public class SmarttreenearbyActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_smarttreenearby);
    // Obtain the SupportMapFragment and get notified when the map is ready to be used.
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;
    mMap.setMyLocationEnabled(true);
    // Add a marker in Sydney and move the camera
    LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    String provider = locationManager.getBestProvider(criteria, true);
    Location location = locationManager.getLastKnownLocation(provider);
    double y = location.getLatitude();
    double x = location.getLongitude();
    LatLng sydney = new LatLng(x,y);
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}

}

尝试使用 FusedLocationApi。这是一个官方的谷歌API,允许我们获取位置,而无需自己创建复杂的位置逻辑。

最新更新