如何修复地图中未显示的标记?

时间:2019-06-15 18:49:32

标签: java android google-maps

我正在尝试制作一个使用Google地图的应用程序。问题是当我运行“应用程序”时,它显示地图,但不显示标记。 (我认为我正确地完成了API密钥和与API相关的工作)

我尝试创建一个新项目,并从“ Google Maps Activity”(而不是“ Empty Activity”)开始,并且可以正常工作,该地图也显示了标记。但是,当我在其中已有活动的项目中创建Google Maps Activity时,它将显示地图,但不显示标记。

这是我的地图活动:

    package fr.oliver_mineau.urbexmap;

import android.support.v4.app.FragmentActivity;
import android.os.Bundle;


import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
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;



public class MapsActivity extends FragmentActivity implements 
OnMapReadyCallback {

    private GoogleMap mMap;

    @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));


    }
}

它是由这个运行的:

package fr.oliver_mineau.urbexmap;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);
  }
}

这是布局:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MapsActivity" />

我认为您不需要google maps api xml文件夹。

0 个答案:

没有答案