Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.lurntech.ahassiap;
- import android.location.Address;
- import android.location.Geocoder;
- import android.os.Bundle;
- import android.support.v4.app.Fragment;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.SearchView;
- import com.google.android.gms.maps.CameraUpdateFactory;
- import com.google.android.gms.maps.GoogleMap;
- import com.google.android.gms.maps.OnMapReadyCallback;
- import com.google.android.gms.maps.SupportMapFragment;
- import com.google.android.gms.maps.model.LatLng;
- import com.google.android.gms.maps.model.MarkerOptions;
- import java.io.IOException;
- import java.util.List;
- import java.util.Locale;
- public class LocationFragment extends Fragment implements OnMapReadyCallback{
- View mView;
- GoogleMap map;
- SupportMapFragment mapFragment;
- SearchView searchView;
- public LocationFragment(){
- }
- @Override
- public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
- mView = inflater.inflate( R.layout.fragment_location, container, false );
- searchView = mView.findViewById( R.id.sv_location );
- mapFragment = (SupportMapFragment) this.getChildFragmentManager().findFragmentById( R.id.google_map );
- searchView.setOnQueryTextListener( new SearchView.OnQueryTextListener() {
- @Override
- public boolean onQueryTextSubmit(String query) {
- String location = searchView.getQuery().toString();
- List<Address> addressList = null;
- if(location != null || !location.equals( "" )){
- Geocoder geocoder = new Geocoder(getActivity(), Locale.getDefault()); //error
- try{
- addressList = geocoder.getFromLocationName( location, 16 );
- } catch (IOException e) {
- e.printStackTrace();
- }
- Address address = addressList.get( 0 ); // not String in address list if i input string
- LatLng latLng = new LatLng( address.getLatitude(), address.getLongitude() );
- map.addMarker( new MarkerOptions().position( latLng ).title( location ) );
- map.animateCamera( CameraUpdateFactory.newLatLngZoom( latLng, 10 ) );
- }
- return false;
- }
- @Override
- public boolean onQueryTextChange(String newText) {
- return false;
- }
- } );
- mapFragment.getMapAsync( this);
- return mView;
- }
- @Override
- public void onMapReady(GoogleMap googleMap) {
- map = googleMap;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement