Android 在当前位置添加标记

Android 在当前位置添加标记,android,google-maps,android-maps,Android,Google Maps,Android Maps,我是android编程的初学者,目前正在谷歌地图上工作。我想做的是获取用户的当前位置,然后在该位置上放置一个标记 我正在练习这个,但我真的不能让它工作。这仅显示用户的当前位置。但我想做的是在上面也显示一个标记。有什么建议吗 public class MapsActivity extends AppCompatActivity implements GoogleMap.OnMyLocationButtonClickListener, OnMapReadyCallback, Acti

我是android编程的初学者,目前正在谷歌地图上工作。我想做的是获取用户的当前位置,然后在该位置上放置一个标记

我正在练习这个,但我真的不能让它工作。这仅显示用户的当前位置。但我想做的是在上面也显示一个标记。有什么建议吗

public class MapsActivity extends AppCompatActivity implements GoogleMap.OnMyLocationButtonClickListener,
    OnMapReadyCallback,
    ActivityCompat.OnRequestPermissionsResultCallback {

private static final int LOCATION_PERMISSION_REQUEST_CODE = 1;
private boolean mPermissionDenied = false;
private GoogleMap mMap;

@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(GoogleMap googleMap) {
    mMap = googleMap;
    mMap.setOnMyLocationButtonClickListener(this);
    enableMyLocation();
}

private void enableMyLocation() {
    if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION)
            != PackageManager.PERMISSION_GRANTED) {

        PermissionUtils.requestPermission(this, LOCATION_PERMISSION_REQUEST_CODE,
                android.Manifest.permission.ACCESS_FINE_LOCATION, true);
    } else if (mMap != null) {

        mMap.setMyLocationEnabled(true);
    }
}

@Override
public boolean onMyLocationButtonClick() {
    Toast.makeText(this, "Showing current location", Toast.LENGTH_SHORT).show();


    return false;
}


@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
                                       @NonNull int[] grantResults) {
    if (requestCode != LOCATION_PERMISSION_REQUEST_CODE) {
        return;
    }

    if (PermissionUtils.isPermissionGranted(permissions, grantResults,
            Manifest.permission.ACCESS_FINE_LOCATION)) {

        enableMyLocation();
    } else {

        mPermissionDenied = true;
    }
}
找到你最后的位置-

  • LatLng location=getLatLngFromLastLocation()
然后使用此代码块在地图上放置标记:

MarkerOptions MarkerOptions=newmarkeroptions()
.职位(位置)
.icon(getMarkerIcon(mProfileTheme.getColorCodeLight());
公共位图描述符getMarkerIcon(int颜色){
浮动[]hsv=新浮动[3];
colorToHSV(颜色,hsv);
返回BitmapDescriptorFactory.defaultMarker(hsv[0]);

}
在文档部分:@MarkusKauppinen谢谢!现在开始工作了。