我正试图在谷歌地图中设置一个标记,在找到地点之后给出某个地方的纬度和经度:
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 )
在此之后我尝试将标记设置为该lat并使用我创建的方法很长时间:
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中有效。
按钮点击后如何使用?
答案 0 :(得分:1)
当您想在地图上放置标记时,请调用以下方法。
public Marker placeMarker(EventInfo eventInfo) {
Marker m = getMap().addMarker(new MarkerOptions().position(eventInfo.getLatLong()).title(eventInfo.getName()));
return m;
}