创建标记而不将其添加到地图中?

Yor*_*iev 11 android google-maps-android-api-2

  • 如何创建Marker类的实例,但不将其添加到地图中.

Anu*_*_07 5

您可以通过设置来做到这visibility一点false

Marker marker = mMap.addMarker(new MarkerOptions()
                            .position(
                                    new LatLng(arg0.latitude,
                                            arg0.longitude))
                            .draggable(true).visible(false));
Run Code Online (Sandbox Code Playgroud)

编辑

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;
                }
            });
Run Code Online (Sandbox Code Playgroud)

然后当你想要这样的时候添加它

mMap.addMarker(new MarkerOptions().position((m.getPosition())));
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你


Mac*_*ski 5

您可以使用LazyMarker.javaAndroid地图扩展

除非您调用它,否则它实际上不会创建标记setVisible(true)