【发布时间】:2016-07-09 12:12:22
【问题描述】:
我的布局
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<fragment
android:id="@+id/map"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/pin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:contentDescription="@null"
android:src="@drawable/ic_center_pin" />
</FrameLayout>
我尝试过的以下事情 android How to move a map under a marker
How to attach a flexible marker on map something like Uber and Lyft?
Keep map centered regardless of where you pinch zoom on android
我尝试了onCameraChangeListener的方法,下面是代码,但是体验很慢,
private GoogleMap.OnCameraChangeListener cameraChangedListener = new GoogleMap.OnCameraChangeListener() {
private float previousZoomValue = 17;
private CameraUpdate cu;
@Override
public void onCameraChange(CameraPosition cameraPosition) {
if (previousZoomValue == cameraPosition.zoom) {
mLatitude = cameraPosition.target.latitude;
mLongitude = cameraPosition.target.longitude;
cu = CameraUpdateFactory.newLatLng(new LatLng(mLatitude,mLongitude));
} else if (previousZoomValue > cameraPosition.zoom) {
previousZoomValue = cameraPosition.zoom;
mGoogleMap.moveCamera(cu);
} else {
mGoogleMap.moveCamera(cu);
previousZoomValue = cameraPosition.zoom;
}
}
我希望当用户点击或捏缩放地图标记不应该移动时,它应该粘在地图上
【问题讨论】:
-
所以你想在地图上固定位置的东西?因此,您不必使用标记,而是在 GoogleMap 项目上绘制一个视图(类似于框架布局)
标签: android google-maps