У меня нет библиотеки setUpMapIfNeeded в моем файле MapsActivity.java
Я разместил фрагмент кода ниже, так как не могу найти команду setUpMapIfNeeded();
, Когда я набираю нужную команду, я везде получаю красные линии. Может кто-нибудь помочь мне с этим кодом? Кроме того, у меня нет маркера в моем эмуляторе.
Я открыт для предложений, пожалуйста, помогите мне. Версия min sdk, которую я использую, - 17, а версия android studio - 2.1. Я использую активность Googlemaps. Я до сих пор не понимаю, почему я не получаю setUpMapIfNeeded
команда, а также остальная часть встроенного фрагмента кода.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
/**
* Manipulates the map once available.
* This callback is triggered when the map is ready to be used.
* This is where we can add markers or lines, add listeners or move the camera. In this case,
* we just add a marker near Sydney, Australia.
* If Google Play services is not installed on the device, the user will be prompted to install
* it inside the SupportMapFragment. This method will only be triggered once the user has
* installed Google Play services and returned to the app.
*/
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Add a marker in Sydney and move the camera
LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
}
Также после попытки пропустить код я не могу получить маркер. Принимая во внимание, что везде, где у меня есть поиск в Интернете, я получаю это руководство.
Если вам известен какой-либо другой код, дайте мне знать.
2 ответа
Когда вы используете MapsActivty, нет необходимости в дополнительном коде. Весь необходимый код генерируется самой Android Studio. Если вы посмотрите на учебник, код внутри setUpMapIfNeeded() будет таким же, как код, который вы используете в onCreate(). Когда вы добавляете Google MapsActivty, все, что вам нужно, чтобы показать карту, это ключ API Карт Google. Вставьте ключ APi в ваш google_maps_api.xml (внутри папки значений), и все готово. Запустите приложение, и вы получите карту в своей деятельности.
Действия по получению ключа API Карт Google приведены в google_maps_api.xml в комментариях.
Также, если вы добавляете свои собственные маркеры, используйте следующий код
public void setMarkerOnMap(String name, LatLng l) {
// Creating a marker
MarkerOptions markerOptions = new MarkerOptions();
// Setting the position for the marker
markerOptions.position(l);
// Setting the title for the marker.
// This will be displayed on taping the marker
markerOptions.title(name);
// Placing a marker on the touched position
mMap.addMarker(markerOptions);
}
Вызовите эту функцию так:
LatLng loc=new LatLng(latitude,longitude);
String str_placeName="Place Name";
setMarkerOnMap(str_placeName,loc);
Вам нужно позвонить setUpMapIfNeeded()
в onCreate()
метод:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
setUpMapIfNeeded();
}
Проверьте этот учебник и ТАК вопрос о том, как добавить маркеры.