[英]Add Custom Marker to Google Maps in Android
我有一个 Android 应用程序,使用 java 和谷歌地图活动制作,我想用一个新的标记替换“默认 sidney”市场,用我通过参数给出的 LatLng,但我不知道如何。 我试过这个=>
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,而不是像所有示例所示的那样直接在 class 上设置它。
提前致谢!
市场? 或标记? 如果标记你可以试试这个代码
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))
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
setLatLng(1.0,1.0);
}
尝试这个。 您必须在 onMapReady 中调用 setLatLng 方法
public void setLatLng(double latitude , double longitude){
LatLng location = new LatLng(latitude, longitude);
mMap.addMarker(new MarkerOptions().position(location).title("Marker in Your Location"));
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(location,15));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.