我將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解析器一起工作。 –