将自定义标记添加到Android中的Google Maps

问题描述 投票:0回答:1

我有一个用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,而不是像在所有示例中一样直接在类上进行设置。

提前感谢!

java android google-maps-api-3 maps
1个回答
0
投票

市场?或标记?如果标记,您可以尝试此代码

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))的颜色

© www.soinside.com 2019 - 2024. All rights reserved.