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

时间:2015-09-15 21:19:06

标签: android google-maps gps

所以我希望用户连接到Google地图并指向某个位置。现在我希望从用户在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 个答案:

答案 0 :(得分:2)

您可以像在示例中一样调用googleMap.addMarker()来添加标记,具体取决于用户点击地图OnMapClickListener

的位置

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

来自API:Marker

如果您还想通过名称获取坐标,那么您需要举例来调用google API并从其API中获取lat / long。

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

干杯