假设我们在地图上有一个居中的标记,当我们用手指移动地图时,我们可以看到当你离开该区域时,标记将不再显示.那么我们怎样才能制作一个始终位于地图中心的标记,尽管我们将地图移动到任何地方?有一个名为UBER的应用程序,它们提供此功能,您不要拖放标记,只需移动地图,标记就会保持它的位置.
这是一个截图:

当我们移动地图时,您可以看到绿色标记位于屏幕的中心,它仍然保留其位置,但在用户停止移动地图时显示新位置.我们怎么能这样做?
我有一个代码,当您拖放标记时显示地址,如何重新显示地址但这次不是通过拖动,移动地图?希望你能理解任何想法都会很棒.
public class MainActivity extends AbstractMapActivity implements
OnNavigationListener, OnInfoWindowClickListener,
OnMarkerDragListener {
private static final String STATE_NAV="nav";
private static final int[] MAP_TYPE_NAMES= { R.string.normal,
R.string.hybrid, R.string.satellite, R.string.terrain };
private static final int[] MAP_TYPES= { GoogleMap.MAP_TYPE_NORMAL,
GoogleMap.MAP_TYPE_HYBRID, GoogleMap.MAP_TYPE_SATELLITE,
GoogleMap.MAP_TYPE_TERRAIN };
private GoogleMap map=null;
String filterAddress = "";
Marker marker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (readyToGo()) {
setContentView(R.layout.activity_main);
SupportMapFragment mapFrag=
(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
mapFrag.setRetainInstance(true);
initListNav();
map=mapFrag.getMap();
if (savedInstanceState == null) {
CameraUpdate center=
CameraUpdateFactory.newLatLng(new LatLng(
41.003739,
28.999572));
CameraUpdate zoom=CameraUpdateFactory.zoomTo(10); …Run Code Online (Sandbox Code Playgroud) 如何在Uber和Lyft等地图上附上灵活的标记?我正在使用谷歌地图v2.
基本上,我想在地图上显示标记,同时在移动地图时更改标记的位置.
编辑:
好的,我解决了我的问题.
第一步:将imageview添加到相同的布局和位置等于center.第二:获取地图中心的坐标使用以下方法
1-在我的情况下获取viewgroup(FrameLayout)地图片段所在的位置.
FrameLayout myContainer = (FrameLayout) findViewById(R.id.content_frame);
int mapHeight = myContainer.getHeight();
int mapWidth = myContainer.getWidth();
Run Code Online (Sandbox Code Playgroud)
2-使用setOnCameraChangeListener并在相机上更改获取坐标:
LatLng center = mMap.getCameraPosition().target;
Run Code Online (Sandbox Code Playgroud) android google-maps google-maps-markers google-maps-api-2 android-maps-v2