【发布时间】:2017-01-23 23:04:54
【问题描述】:
三个月前我的代码运行良好,但现在无法运行。正是onLocationChanged 没有被调用,我不知道为什么。我已经3个月没有改变任何东西。另外,当我想在地图上显示标记时,它不存在。我拥有我需要的所有许可。下面有一段Java(Android)代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_demo_activity);
new DecimalFormat("#.#", new DecimalFormatSymbols(Locale.US));
OnClickListener();
mapFragment = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map));
if (mapFragment != null) {
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap map) {
loadMap(map);
}
});
} else {
Toast.makeText(this, "Error - Map Fragment was null!!", Toast.LENGTH_SHORT).show();
}
Marker("50.06465", "19.94498", "Example");
}
public void onLocationChanged(Location location) {
mLAT = Double.toString(location.getLatitude());
mLON = Double.toString(location.getLongitude());
new DoIt().execute();
}
public void Marker(String LAT, String LON, String tit) {
double dLAT = Double.parseDouble(LAT);
double dLON = Double.parseDouble(LON);
LatLng pos = new LatLng(dLAT, dLON);
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
return;
}
map.setMyLocationEnabled(true);
singleMarker = map.addMarker(new MarkerOptions()
.title(tit)
.position(pos)
.icon(BitmapDescriptorFactory.fromResource(R.mipmap.icon));
}
【问题讨论】:
-
可能您的手机已禁用精细定位
-
什么类包含这段代码?请编辑您的问题以显示这一点。