У меня нет библиотеки 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();
}

Проверьте этот учебник и ТАК вопрос о том, как добавить маркеры.

Другие вопросы по тегам