- So erstellen Sie eine Instanz der Marker-Klasse, ohne sie jedoch der Karte hinzuzufügen.
Antwort
hilft Sie LazyMarker.java von Android Maps Extensions verwenden.
Es erstellt keine Markierung, bis Sie setVisible(true)
darauf aufrufen.
Es hat die Arbeit gemacht. Danke. –
Sie können dies tun, indem Sie die visibility
zu false
Marker marker = mMap.addMarker(new MarkerOptions()
.position(
new LatLng(arg0.latitude,
arg0.longitude))
.draggable(true).visible(false));
bearbeiten
Marker m = new Marker(new z() {
@Override
public IBinder asBinder() {
return null;
}
@Override
public void showInfoWindow() throws RemoteException {
}
@Override
public void setVisible(boolean paramBoolean)
throws RemoteException {
}
@Override
public void setTitle(String paramString)
throws RemoteException {
}
@Override
public void setSnippet(String paramString)
throws RemoteException {
}
@Override
public void setPosition(LatLng paramLatLng)
throws RemoteException {
}
@Override
public void setDraggable(boolean paramBoolean)
throws RemoteException {
}
@Override
public void remove() throws RemoteException {
}
@Override
public boolean isVisible() throws RemoteException {
return false;
}
@Override
public boolean isInfoWindowShown() throws RemoteException {
return false;
}
@Override
public boolean isDraggable() throws RemoteException {
return false;
}
@Override
public void hideInfoWindow() throws RemoteException {
}
@Override
public int hashCodeRemote() throws RemoteException {
return 0;
}
@Override
public String getTitle() throws RemoteException {
return null;
}
@Override
public String getSnippet() throws RemoteException {
return null;
}
@Override
public LatLng getPosition() throws RemoteException {
return null;
}
@Override
public String getId() throws RemoteException {
return null;
}
@Override
public boolean g(z paramz) throws RemoteException {
return false;
}
});
Einstellung und das Hinzufügen es dann, wenn Sie dieses
wollenHoffe, dass es
Es ist eine der Optionen, aber der Marker wird praktisch zur Karte hinzugefügt. Ich frage mich, ob es eine Möglichkeit gibt, es zu erstellen, ohne es hinzuzufügen - wie Flex Maps API. –
Ich denke das kann nur gemacht werden, indem man ein neues 'Marker' Objekt mit' com.google.android.gms.internal.z' erstellt wie 'Marker m = new Marker (neues z()/* mit vollständiger anonymer innerer Klasse * /) ' –
@ AnujMathur_07 Marker Konstruktor sollte nicht für Entwickler verfügbar sein und es ist nicht gut zu versuchen, es zu verwenden. Siehe [dieses Gmaps-Problem] (http://code.google.com/p/gmaps-api-issues/issues/detail?id=5281). –
Es ist mehr als eine lebenswichtige für die Anwendung, die ich erstelle. –