简体   繁体   English

如何从 Google 地图中的可拖动标记中获取 position?

[英]How can I get position from a draggable marker in Google Maps?

This is my current method这是我目前的方法

private void createNewMarker() {
    MarkerOptions AlarmMarker = new MarkerOptions();
    AlarmMarker.position(SearchedLocation).alpha(2).draggable(true)
            .snippet(MessageDataText).title(MessageDataTitle).zIndex(2.0f);
    mMap.addMarker(AlarmMarker);
    mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(SearchedLocation,10));
    mMap.setOnMarkerDragListener(new GoogleMap.OnMarkerDragListener() {
        @Override
        public void onMarkerDrag(@NonNull Marker marker) {

        }

        @Override
        public void onMarkerDragEnd(@NonNull Marker marker) {
            AlarmMarkerLatLng = AlarmMarker.getPosition();
            Toast.makeText(getApplicationContext(), AlarmMarkerLatLng.toString(), Toast.LENGTH_SHORT).show();

        }

        @Override
        public void onMarkerDragStart(@NonNull Marker marker) {

        }
    });


}

This only returns position that my marker was created on and not the updated one...这仅返回创建我的标记的 position 而不是更新的标记...

On your setOnMarkerDragListener, you want to use the local variable 'marker'.在您的 setOnMarkerDragListener 上,您想使用局部变量“marker”。 Don't try to get the value from outside of the scope.不要试图从 scope 之外获取值。

mMap.setOnMarkerDragListener(new GoogleMap.OnMarkerDragListener() {
        @Override
        public void onMarkerDrag(@NonNull Marker marker) {

        }

        @Override
        public void onMarkerDragEnd(@NonNull Marker marker) {
            Toast.makeText(getApplicationContext(), marker.getPostition.toString(), Toast.LENGTH_SHORT).show();

        }

        @Override
        public void onMarkerDragStart(@NonNull Marker marker) {

        }
    });

The documentation has some really good examples: https://developers.google.com/maps/documentation/android-sdk/marker该文档有一些非常好的示例: https://developers.google.com/maps/documentation/android-sdk/marker

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM