public static async Task<GoogleAPIAddressObj> ConvertAddressToLatLng(string address) { GoogleAPIAddressObj latLngObj = new GoogleAPIAddressObj(); //GoogleAPIGeocoding URL string URL = ConstantVariable.googleAPIGeocodingAddressBaseURI + address + "&key=" + ConstantVariable.googleGeolocationAPIkey; string json = await ReqAndRes.GetJsonString(URL); latLngObj = JsonConvert.DeserializeObject<GoogleAPIAddressObj>(json); return latLngObj; }
private async void lls_OfficeAddress_SelectionChanged(object sender, SelectionChangedEventArgs e) { var selectedPlace = ((AutoCompletePlaceLLSObj)(sender as LongListSelector).SelectedItem); // If selected item is null, do nothing if (lls_OfficeAddress.SelectedItem == null) { return; } //show address on textbox GoogleAPIAddressObj address = new GoogleAPIAddressObj(); address = await GoogleAPIFunction.ConvertAddressToLatLng(selectedPlace.Name.ToString()); txt_OfficeAddress.Text = address.results[0].address_components[0].long_name.ToString() + ", " + address.results[0].address_components[1].long_name.ToString() + ", " + address.results[0].address_components[2].long_name.ToString(); setCursorAtFirst(txt_OfficeAddress); SetOfficePositionFromAddress(address.results[0].formatted_address.ToString()); //vibrate phone vibrateController.Start(TimeSpan.FromSeconds(0.1)); HideLLSOfficeAddress(); }
private void proxy_SetOfficePositionFromAddress(object sender, DownloadStringCompletedEventArgs e) { //1. Convert chuối json lấy về thành object GoogleAPIAddressObj places = new GoogleAPIAddressObj(); places = JsonConvert.DeserializeObject<GoogleAPIAddressObj>(e.Result); try { //Lấy tọa độ của điểm mới tìm được double lat = places.results[0].geometry.location.lat; double lng = places.results[0].geometry.location.lng; //Và dời vị trí map về đó map_OfficeAddress.SetView(new GeoCoordinate(lat, lng), 16, MapAnimationKind.Linear); } catch (Exception) { MessageBox.Show(ConstantVariable.errInvalidAddress); } }