java - 我想将 Android Studio 地图中的蓝点更改为箭头
问题描述
我想将您在 Android Studio 的 Google 地图中的位置的默认图标更改为另一个图标。
默认图标是蓝色圆圈,谢谢。
解决方案
解决方法是setMyLocationEnabled(false)
让这个圈子消失,使用GoogleApiClient手动获取最后一个位置。
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
mGoogleApiClient.connect();
locationCallback = new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
super.onLocationResult(locationResult);
try {
lat = locationResult.getLastLocation().getLatitude();
lng = locationResult.getLastLocation().getLongitude();
googleMap.addMarker(new MarkerOptions().position(new LatLng(lat, lng)) .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_marker_red)));
} catch (Exception e) {
}
}
@Override
public void onLocationAvailability(LocationAvailability locationAvailability) {
super.onLocationAvailability(locationAvailability);
}
};
在你的onConnected
方法中:
@Override
public void onConnected(@Nullable Bundle bundle) {
LocationServices.getFusedLocationProviderClient(LocationActivity.this)
.requestLocationUpdates(
getLocationRequest(), locationCallback, null);
}
在哪里获取位置请求:
private LocationRequest getLocationRequest() {
mLocationRequest = LocationRequest.create();
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setInterval(1000);
return mLocationRequest;
}
推荐阅读
- swift - 从核心数据中删除/添加到核心数据后,带有列表的 SwiftUI TabView 不刷新
- scala - Scala宏:从类类型中获取伴随对象
- java - 从java运行linux命令
- apache-spark - Spark:映射组和展平数组
- pandas - 如何使用 Pandas 将数据框行数据转换为列
- swift - Swift 中的 int 到 int
- excel - 使用 VBA 添加新行时如何在单元格中添加特定值
- python-3.x - 有没有办法用 '#' 替换从索引 0 到索引 -4 的字符串中的字符(即除了最后 4 个字符之外的所有字符)
- node.js - 如何防止我的 App Engine 应用出现“appspot.com”?
- javascript - 跨域请求块 Node.js