如何将camra移动到android中谷歌地图v2中的特定标记

RQu*_*ube 7 android google-maps google-play-services

当第一次用户查看地图时,我能够显示标记并显示缩放和相机设置.但我的要求是如果用户在他/她的访问期间离开该标记位置(标记离开屏幕),则将相机移动到相同的标记位置(当用户想要时).

LuT*_*ieR 19

有了GoogleMap对象和Marker的引用,您可以简单地使用

GoogleMap mMap;
Marker mMarker;

[...]

mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(mMarker.getPosition(), 14));
Run Code Online (Sandbox Code Playgroud)

(您可以用"14"代替所需的缩放级别).

只需将该行附加到按钮的OnClick事件,用户将单击该事件以"返回"到标记......然后您就完成了!;)


RQu*_*ube 12

感谢回复,但我正在寻找一些原生地图组件来执行地图标记重置任务,而不是外部按钮导航回所需的标记位置.我使用Map Api中的最新更新(使用setOnMyLocationButtonClickListener)使用以下代码: -

mMap.setMyLocationEnabled(true);
    LatLng markerLoc=new LatLng(companyDetail.getLatitude(), companyDetail.getLongitude());
    final CameraPosition cameraPosition = new CameraPosition.Builder()
    .target(markerLoc)      // Sets the center of the map to Mountain View
    .zoom(13)                   // Sets the zoom
    .bearing(90)                // Sets the orientation of the camera to east
    .tilt(30)                   // Sets the tilt of the camera to 30 degrees
    .build();                   //
    mMap.addMarker(new MarkerOptions().position(new LatLng(companyDetail.getLatitude(), companyDetail.getLongitude())).title("Marker"));
    mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
    mMap.setOnMyLocationButtonClickListener(new OnMyLocationButtonClickListener() {
        @Override
        public boolean onMyLocationButtonClick() {
            mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
            return true;
        }
    });
Run Code Online (Sandbox Code Playgroud)


小智 7

你可以使用[animateCamera] [1]的GoogleMap对象功能

GoogleMap googleMap = (SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map).getMap();

googleMap.animateCamera(CameraUpdateFactory.newLatLng(marker.getPosition()));


  [1]: https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/GoogleMap#animateCamera%28com.google.android.gms.maps.CameraUpdate%29
Run Code Online (Sandbox Code Playgroud)