所以我希望用户连接到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);
}
}
答案 0 :(得分:2)
您可以像在示例中一样调用googleMap.addMarker()
来添加标记,具体取决于用户点击地图OnMapClickListener
然后,您可以通过调用mMarker.getPosition()
来获取标记的当前位置。您还可以为标记添加拖动侦听器,以便在每次拖动后更新位置。
来自API:Marker
如果您还想通过名称获取坐标,那么您需要举例来调用google API并从其API中获取lat / long。
编辑:如果您不想放置标记,可以使用CameraPosition并从该对象获取纬度/经度。
干杯