【发布时间】:2013-05-10 11:37:17
【问题描述】:
- 如何创建 Marker 类的实例,但不将其添加到地图中。
【问题讨论】:
-
这对于我正在创建的应用程序来说不仅是至关重要的。
标签: android google-maps-android-api-2
【问题讨论】:
标签: android google-maps-android-api-2
您可以使用Android Maps Extensions 中的LazyMarker.java。
在您调用 setVisible(true) 之前,它不会实际创建标记。
【讨论】:
您可以通过将visibility 设置为false 来做到这一点
Marker marker = mMap.addMarker(new MarkerOptions()
.position(
new LatLng(arg0.latitude,
arg0.longitude))
.draggable(true).visible(false));
编辑
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;
}
});
然后在你想要的时候添加它
mMap.addMarker(new MarkerOptions().position((m.getPosition())));
希望对你有帮助
【讨论】:
com.google.android.gms.internal.z 创建一个新的Marker 对象来完成,例如Marker m = new Marker(new z()/* with complete anonymous inner class*/)