2013-05-10 5 views
9
  • So erstellen Sie eine Instanz der Marker-Klasse, ohne sie jedoch der Karte hinzuzufügen.
+0

Es ist mehr als eine lebenswichtige für die Anwendung, die ich erstelle. –

Antwort

3

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

wollen

Hoffe, dass es

+0

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. –

+1

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 * /) ' –

+1

@ 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). –