我将PlacePicker
小部件添加到我的应用程序,现在我可以获取选定的位置经度和纬度。 有了这个代码:PlacePicker获取设备位置和选定的距离和时间路的位置
public class TravelFragment extends Fragment {
int PLACE_PICKER_REQUEST = 1;
TextView lat;
TextView lng;
public TravelFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final FragmentActivity activity = getActivity();
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_travel, container, false);
lat = (TextView) view.findViewById(R.id.latitudeValue);
lng = (TextView) view.findViewById(R.id.longitudeValue);
Button findLocation = (Button) view.findViewById(R.id.buttonSearchLocation);
findLocation.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
try {
startActivityForResult(builder.build(activity), PLACE_PICKER_REQUEST);
} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
}
});
return view;
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PLACE_PICKER_REQUEST) {
if (resultCode == RESULT_OK) {
double arrivalLat;
double arrivalLng;
String stringLat;
String stringLng;
Place place = PlacePicker.getPlace(data, getActivity());
arrivalLat = place.getLatLng().latitude;
arrivalLng = place.getLatLng().longitude;
stringLat = Double.toString(arrivalLat);
stringLng = Double.toString(arrivalLng);
lat.setText(stringLat);
lng.setText(stringLng);
String toastMsg = String.format("Place: %s", place.getLatLng());
// place.getLatLng();
Toast.makeText(getActivity(), toastMsg, Toast.LENGTH_LONG).show();
}
}
}
}
如果我也明白这是使用HTTP请求,Google地图,让近的地方是一回事吗?
但我在地图上看到Picker用蓝点找到我的设备,我想知道是否可以获取我的设备的坐标,或者我需要获取设备坐标的其他东西。
如果我需要别的东西来检索设备位置,这是使用3G连接和GSP来做这件事的最佳方式?
无论如何,获得千米距离和时间旅行的唯一方法是使用HTTP请求?
如果位置已启用,您可以用'onLationChanged'方法来获得当前所在位置的经纬度,你也可以使用你的位置和所选地点的位置,通过使用方向HTTPS请求找到公里的距离和时间。获得当前位置的最佳方式是FusedLocationProvider,它对3g和gps非常有用。 –
启用位置在哪里? (抱歉,我是新的谷歌地图API) 你可以发布一些代码? 好吧,所以获得道路距离的唯一方法是使用HTTP请求和一些JSON解析器来获取信息 – Dario
我说过,根据您的帖子,您已经说过placepicker会发现我的设备有蓝点。这意味着该位置已启用。是的,距离和时间与解析通过https请求从谷歌地图获得的信息的json解析器一起工作。 –