如何获取用户指向的 GPS 坐标?

Posted

技术标签:

【中文标题】如何获取用户指向的 GPS 坐标?【英文标题】:How to get user pointed GPS coordinates? 【发布时间】:2015-12-12 06:52:06 【问题描述】:

所以我希望用户连接到 Google 地图并指向某个位置。现在我想从用户在谷歌地图中指向我的应用程序的位置接收那些 GPS 坐标。我该怎么做,有示例代码吗?我这里有基本代码。此外,如果用户进入旧金山的 Chipotle,我将如何获取这些坐标并在我的应用中使用它们?

public class UserMap extends FragmentActivity implements OnMapReadyCallback

    private double user_latitude = Global_Class.getInstance().getValue().getUserLatitude;
    private double user_longitude = Global_Class.getInstance().getValue().getUserLongitude;
    public void onCreate(Bundle savedInstanceState)
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.maps);
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);

    
    @Override
    public void onMapReady(GoogleMap googleMap)
    
        //Add a market in syndey Australia
        LatLng syndey = new LatLng(user_latitude,user_longitude);
        googleMap.addMarker(new MarkerOptions().position(syndey).title("Market in Sydney"));
        googleMap.moveCamera(CameraUpdateFactory.newLatLng(syndey));
        googleMap.animateCamera(CameraUpdateFactory.zoomTo(10),2000,null);
    



【问题讨论】:

【参考方案1】:

您可以通过调用googleMap.addMarker() 来添加标记,就像您在示例中所做的那样,具体取决于用户使用OnMapClickListener 在地图上单击的位置

然后你可以通过调用mMarker.getPosition()来获取一个标记的当前位置。您还可以为标记添加拖动侦听器,以便在每次拖动后更新您的位置。

来自 API:Marker

如果您还想仅通过名称获取坐标,那么您需要例如调用 google API 并从他们的 API 获取纬度/经度。

编辑:如果您不想放置标记,则可以使用 CameraPosition 并从该对象获取纬度/经度。

干杯

【讨论】:

你有链接让我可以学习如何调用google api吗? 您需要的一切都在这里:developers.google.com/maps/documentation/android-api/intro 不幸的是,我没有代码示例 atm。但是你应该在 *** 上找到很多东西。 我目前正在做同样的事情,所以一旦我得到了我可以分享的代码。 developers.google.com/places google 有不同的 api,但如果你遵循指南,它们都非常简单并且非常简单

以上是关于如何获取用户指向的 GPS 坐标?的主要内容,如果未能解决你的问题,请参考以下文章

获取/发送短信时如何获取 GPS 坐标? [复制]

如何在按钮单击时获取 GPS 坐标? (最简单的)

如何通过核心位置获取当前位置或 GPS 坐标?

如何将 GPS 坐标发送到网络服务器?

html5 如何调用安卓手机获取gps坐标

Android 在设备处于睡眠状态时获取 GPS 坐标更新(屏幕已关闭)