2016-05-25 2 views
0

Я пытаюсь установить маркер в картах Google, давая широту и долготу в определенном месте после нахождения места с помощью этого:Как установить маркер на картах Google после нажатия кнопки?

public void findPlace() { 

    AutocompleteFilter typeFilter = new AutocompleteFilter.Builder() 
      .setTypeFilter(AutocompleteFilter.TYPE_FILTER_ADDRESS) 
      .build(); 

    try { 
     Intent intent = 
       new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN) 
         .setFilter(typeFilter) 
     .build(getActivity()); 

     getActivity().startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST_CODE); 

     //to add marker for destination location 


    } catch (GooglePlayServicesRepairableException e) { 
     // TODO: Handle the error. 
    } catch (GooglePlayServicesNotAvailableException e) { 
     // TODO: Handle the error. 
    } 
} 

От этого я получаю место и я использую следующий, чтобы получить лат и долго на месте искали:

Place place = PlaceAutocomplete.getPlace(MainActivity.this, data); 
Log.e("lat and long", place.getLatLng().latitude + place.getLatLng().longitude) 

после этого я пытаюсь установить маркер, что широта и долго, используя этот метод, я создал:

protected Marker createMarker(double latitude, double longitude) { 

    Logger.e("inside" ,"create marker"); 
    return mMap.addMarker(new MarkerOptions() 
      .position(new LatLng(latitude, longitude)) 
      .anchor(0.5f, 0.5f) 
      .title("Destination") 
      .snippet("Snippet Destination").icon(BitmapDescriptorFactory.fromResource(R.drawable.black))); 

} 

, и этот метод работает только внутри метода onverride onMapReady.

Как его использовать после нажатия кнопки?

ответ

1

Позвоните ниже метод, если вы хотите, наденьте маркер на карту.

public Marker placeMarker(EventInfo eventInfo) { 
    Marker m = getMap().addMarker(new MarkerOptions().position(eventInfo.getLatLong()).title(eventInfo.getName())); 
    return m; 

} 
Смежные вопросы