don*_*221 17 android google-maps google-maps-api-2
Google Map API V2 - 如何在用户滚动地图时将标记保留在屏幕中央?
我的目的是让用户选择一个位置.我使用以下代码添加标记(它来自com.example.mapdemoAndroid SDK)
mMap.addMarker(new MarkerOptions()
.position(new LatLng(0, 0))
.title("Marker"));
Run Code Online (Sandbox Code Playgroud)
如何将标记保留在屏幕中央,然后检索它的位置?
dou*_*leA 15
我不认为你可以在屏幕中间保留一个标记并轻松浮动它.我的建议是欺骗你的用户.像标记按钮一样将标记图像添加到地图上.您可以使用xml布局将其放在屏幕中间.然后,当您的用户选择一个位置时,只需从屏幕中间检索gps坐标.
在旁注上你也可以让你的标记可拖动然后用户可以将它拖动到地图上.
mMap.addMarker(new MarkerOptions().position(coordinate)
.title("Your Title")
.snippet("Please move the marker if needed.")
.draggable(true));
Run Code Online (Sandbox Code Playgroud)
怎么样?
mMap.setOnCameraChangeListener(new OnCameraChangeListener() {
public void onCameraChange(CameraPosition arg0) {
mMap.clear();
mMap.addMarker(new MarkerOptions().position(arg0.target));
}
});
Run Code Online (Sandbox Code Playgroud)
我认为最好的选择是移动标记,当用户移动地图时......
googleMap.setOnCameraMoveListener(new GoogleMap.OnCameraMoveListener() {
@Override
public void onCameraMove() {
marker.setPosition(googleMap.getCameraPosition().target);//to center in map
}
});
//note marker is global
Run Code Online (Sandbox Code Playgroud)
或者简单地说,在您的布局中,使用相对布局放置片段,并在标记图标上方,您将计算该标记将始终位于地图的中间...
我认为这很复杂,因为屏幕的大小,但每次标记时手机都不会移动......
| 归档时间: |
|
| 查看次数: |
20515 次 |
| 最近记录: |