我有一个用Java开发的Android应用程序以及Google Maps活动,我想用我通过参数提供的LatLng用新标记替换“默认sidney”市场,但我不知道如何。我已经尝试过这个=>
public class MapsActivity2 extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
private double latitud;
private double longitud;
private LatLng ubicacion;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps2);
// 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;
// Add a marker in Sydney and move the camera
LatLng sydney = ubicacion;
mMap.addMarker(new MarkerOptions().position(sydney).title("Ubicacion Gasto"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
public void setearUbicacion(double lat, double longi){
ubicacion = new LatLng(lat, longi);
}
}
但是“ ubicacion”变量始终设置为null。我不想更改标记的样式,我想通过参数为onMapReady方法提供LatLng,而不是像在所有示例中一样直接在类上进行设置。
提前感谢!
市场?或标记?如果标记,您可以尝试此代码
map.addMarker(new MarkerOptions()
.position(new LatLng(latitude, longitude))
.title("Title")
.snippet("Snippet")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.my_icon)));
只需添加.icon(BitmapDescriptorFactory.fromResource(R.drawable.my_icon))
或更改默认标记.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
的颜色