【发布时间】:2016-12-28 06:24:16
【问题描述】:
我的位置会根据另一个活动提供的意图发生变化,它可以正常工作,显示我想要来自 LatitudeDegree 和 LongitudeDegree 的位置。现在我想在用户选择附近的地方显示它。比如如果他键入 ATM,那么应该显示附近的 ATM 等等。
这是我获取位置的代码,我尝试使用地点选择器,但我不知道我是否正确以及我应该如何使用。
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback{
private GoogleMap mMap;
private String mAirportName;
private int mLatitudeDegree;
private int mLongitudeDegree;
private int PLACE_PICKER_REQUEST = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
Intent newIntent = getIntent();
mAirportName = newIntent.getStringExtra("airportName");
mLatitudeDegree = newIntent.getIntExtra("latDegree", 200);
mLongitudeDegree = newIntent.getIntExtra("lngDegree", 201);
/*PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
try {
startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST);
} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}*/
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Add a marker and move the camera
LatLng latLng = new LatLng(mLatitudeDegree, mLongitudeDegree);
mMap.addMarker(new MarkerOptions().position(latLng).title(mAirportName));
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
mMap.animateCamera(CameraUpdateFactory.zoomTo(5));
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PLACE_PICKER_REQUEST) {
if (resultCode == RESULT_OK) {
Place place = PlacePicker.getPlace(data, this);
String toastMsg = String.format("Place: %s", place.getName());
Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show();
}
}
}
}
【问题讨论】:
-
你有那些附近物品的纬度吗?
-
LatitudeDegree 和 LongitudeDegree 只不过是我的 lat lng
-
如果您想显示其他位置,例如 ATM,您还需要那些 lat lng 的位置
-
lat lng 适用于我必须从我的要求中搜索的那个城市位置,然后在获得该位置后,我必须搜索它附近的地方
-
我没有地方 lat lng
标签: android google-maps google-places-api