Android 位置显示在地图中
嘿,伙计们,我只是想制作一个应用程序在谷歌地图上显示我的位置。我试着运行这个代码在谷歌地图上显示我的当前位置,但它没有在地图上显示任何东西(它显示的是地图,而不是位置) 应用程序正在运行,但位置标记不存在。请帮助Android 位置显示在地图中,android,dictionary,Android,Dictionary,嘿,伙计们,我只是想制作一个应用程序在谷歌地图上显示我的位置。我试着运行这个代码在谷歌地图上显示我的当前位置,但它没有在地图上显示任何东西(它显示的是地图,而不是位置) 应用程序正在运行,但位置标记不存在。请帮助 public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { LatLng myPosition; private GoogleMap mMap; private Fuse
public class MapsActivity extends FragmentActivity implements
OnMapReadyCallback {
LatLng myPosition;
private GoogleMap mMap;
private FusedLocationProviderClient mFusedLocationClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment)
getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(final GoogleMap googleMap) {
mMap = googleMap;
mFusedLocationClient =
LocationServices.getFusedLocationProviderClient(this);
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) {
return;
}
Task task= mFusedLocationClient.getLastLocation()
.addOnSuccessListener(this, new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
Toast.makeText(getBaseContext(),"code run here",
Toast.LENGTH_SHORT).show();
if (location != null) {
double latitude = location.getLatitude();
double longitude = location.getLongitude();
String a,b;
a= String.valueOf(latitude);
b= String.valueOf(longitude);
Log.d(a,b);
Toast.makeText(getBaseContext(),a+b,
Toast.LENGTH_SHORT).show();
LatLng latLng = new LatLng(latitude, longitude);
myPosition = new LatLng(latitude, longitude);
googleMap.addMarker(new
MarkerOptions().position(myPosition).title("Start"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(myPosition));
}
}
});
}
}
公共类映射活动扩展了FragmentActivity实现
onmapredycallback{
车床位置;
私有谷歌地图;
私有FusedLocationProviderClient mFusedLocationClient;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_映射);
SupportMapFragment mapFragment=(SupportMapFragment)
getSupportFragmentManager()
.findFragmentById(R.id.map);
getMapAsync(这个);
}
@凌驾
4月1日公开作废(最终谷歌地图谷歌地图){
mMap=谷歌地图;
mFusedLocationClient=
LocationServices.getFusedLocationProviderClient(此);
如果(ActivityCompat.checkSelfPermission)(此,
android.Manifest.permission.ACCESS\u FINE\u LOCATION)!=
PackageManager.PERMISSION_已授予&&
ActivityCompat.checkSelfPermission(此,
android.Manifest.permission.ACCESS\u\u位置)!=
PackageManager.权限(已授予){
返回;
}
Task Task=mFusedLocationClient.getLastLocation()
.addOnSuccessListener(此,新的OnSuccessListener(){
@凌驾
成功时的公共无效(位置){
Toast.makeText(getBaseContext(),“代码在此处运行”,
吐司。长度(短)。show();
如果(位置!=null){
双纬度=location.getLatitude();
double longitude=location.getLongitude();
a、b串;
a=字符串。值of(纬度);
b=字符串。值of(经度);
日志d(a,b);
Toast.makeText(getBaseContext(),a+b,
吐司。长度(短)。show();
LatLng LatLng=新LatLng(纬度、经度);
myPosition=新板条(纬度、经度);
googleMap.addMarker(新)
MarkerOptions().position(myPosition).title(“开始”);
mMap.moveCamera(CameraUpdateFactory.newLatLng(myPosition));
}
}
});
}
}
您是否在清单中定义了精细和粗略位置
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
如果未授予权限,也请调用RequestPermision方法。您是否在清单中定义了精细和粗略位置
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
如果没有权限,也请调用RequestPermision方法。启动应用程序时,是否有弹出窗口请求权限?如果没有,请转到设置->应用程序->权限并手动启用它们。重新启动应用程序重新启动应用程序发挥了神奇的作用我猜即使在所有这些之后我本应该重新启动Android Studio当你启动应用程序时,是否有弹出窗口请求权限?如果没有,请转到设置->你的应用程序->权限并手动启用它们。重新启动appwell重新启动app真是太神奇了,我想即使在所有这些之后,我还是应该重新启动Android Studio