相关疑难解决方法(0)

如何实现像uber android这样的可拖动地图,用更改位置更新

如何实现像超级一样的可拖动地图?我正在使用谷歌地图v2.实际上我得到了解决这篇文章的解决方案 并在这里分享我的完整解决方案

android google-maps

45
推荐指数
2
解决办法
5万
查看次数

不推荐使用OnCameraChangeListener()

今天,回顾我的旧代码,我发现OnCameraChangeListener()现已弃用.

我发现很难理解如何修复我的这段代码:

mGoogleMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() {
    @Override
    public void onCameraChange(CameraPosition cameraPosition) {
        // Cleaning all the markers.
        if (mGoogleMap != null) {
            mGoogleMap.clear();
        }

        mPosition = cameraPosition.target;
        mZoom = cameraPosition.zoom;

        if (mTimerIsRunning) {
            mDragTimer.cancel();
        }

        mDragTimer.start();
        mTimerIsRunning = true;
    }
});
Run Code Online (Sandbox Code Playgroud)

新的侦听器(又名OnCameraMoveListener())方法onCameraMove()没有CameraPosition cameraPosition输入变量,所以我很丢失:有没有办法回收我的旧代码?

这里有一些参考.

android listener deprecated

35
推荐指数
4
解决办法
3万
查看次数

在谷歌地图v2 android中移动标记

我在Android谷歌地图v2中进行地图聚类.我只想将标记从一个地理点动画到另一个地理点.有没有办法在谷歌地图v2中移动标记?

android google-maps-api-2

23
推荐指数
4
解决办法
6万
查看次数

Android:在将标记保持在中心的同时拖动地图

我a,目前在MapActivity中获取设备的当前位置(lat,lng).现在我想让用户移动地图,同时将标记保持在中心位置.这意味着无论何时移动地图,都将更新当前位置.(对?)

我按照这个android如何在标记下移动地图以及如何在地图上附加像Uber和Lyft这样的灵活标记?但无法明确我的观念.

Activity_map.xml(这里我添加了ImageView)

<RelativeLayout 
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">

<fragment
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.MapFragment"
    />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:src="@drawable/gps"
    />

 </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我的MapActivity如下

 public class MapActivity extends FragmentActivity implements      OnMapReadyCallback,
    GoogleApiClient.ConnectionCallbacks,
    GoogleApiClient.OnConnectionFailedListener,
    LocationListener,GoogleMap.OnInfoWindowClickListener{

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_map);
   // int x =_st.jsonArray.length();
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        checkLocationPermission();
    }

    // Obtain the SupportMapFragment and get notified when the map is ready to be used.
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);

    fragmentOnMap = (FragmentOnMap)getFragmentManager().findFragmentById(R.id.fragment_bottom);
    getFragmentManager().beginTransaction().hide(fragmentOnMap); …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-maps-markers android-location

9
推荐指数
2
解决办法
1万
查看次数

如何在Uber和Lyft等地图上附上灵活的标记?

如何在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

7
推荐指数
1
解决办法
1万
查看次数

捏缩放谷歌地图,在framelayout中移出标记

我的布局

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

下面的东西我试过 android如何在标记下移动地图

如何在Uber和Lyft等地图上附上灵活的标记?

无论你在哪里捏缩放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;
            }

        } …
Run Code Online (Sandbox Code Playgroud)

android google-maps

3
推荐指数
1
解决办法
1716
查看次数