将标记放置在地图中心的经纬度处

时间:2017-08-18 04:54:00

标签: java android google-maps

有一个问题,我需要在地图屏幕的正中心放置一个标记,并查看很多问题和答案,这些都不是我想要做的。该应用程序允许用户移动地图,然后一旦完全位于地图中心的十字准线位于所需位置,您点击一个按钮,该标记就会出现在该位置。

map.getProjection()。fromScreenLocation 几乎满足了我的需求,但我没有坐标,因此无法实现该解决方案。

所以我的回答有望帮助处于相同情况的人。

2 个答案:

答案 0 :(得分:0)

所以我的解决方法是使用getCameraPosition方法,如下所示。它是从我的xml中的按钮R.id.addMarker中解雇的。

findViewById(R.id.addMarker).setOnClickListener(
            new View.OnClickListener(){
                @Override
                public  void onClick(View view) {
                    if(myMap != null){
                        double myLat = myMap.getCameraPosition().target.latitude;
                        double myLng = myMap.getCameraPosition().target.longitude;
                        LatLng markerPoint = new LatLng(myLat, myLng);
                        myMap.addMarker(new MarkerOptions().position(markerPoint)).setTitle("next marker");
                    }
                }
            }
    );

希望它可以帮助处于同样困境的人。

答案 1 :(得分:0)

我不明白为什么 As Result would be : datadiict{868:['S00086', 640, 38.45], 869:['S00087', 476.31, 28.58]} 不适合你的需要......

如果您将地图的宽度和地图的高度除以2作为其参数,则此函数将返回一个fromScreenLocation对象,为您提供相应的位置纬度和经度。之后,很容易在此位置放置LatLng