我目前正在使用android studio处理我的地图应用。除了我添加的标记外,一切都很完美。我一直在使用官方文档Google Maps Android API v2作为我的向导,但在我尝试加载地图时无法在任何地方找到我的标记。我错过了什么吗?
这是我的地图活动:
import android.os.Bundle;
import com.google.android.gms.maps.*;
import com.google.android.gms.maps.model.*;
import com.google.android.gms.maps.GoogleMap;
import android.support.v4.app.FragmentActivity;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.CameraUpdateFactory;
public class MapFragment extends FragmentActivity implements OnMapReadyCallback
{
private SupportMapFragment sMapFragment;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.map_layout);
sMapFragment = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map));
sMapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap mMap)
{
LatLng one = new LatLng(10.178, 122.560);
LatLng ILOILO = new LatLng(10.730278, 122.548889);
mMap.setBuildingsEnabled(true);
mMap.setMyLocationEnabled(true);
mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(ILOILO, 12));
mMap.addMarker(new MarkerOptions()
.title("Empty Lot 1")
.snippet("blah blah blah")
.position(one)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
}
}
这是我的map_layout:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
修改
我还尝试删除private SupportMapFragment sMapFragment;
并更改我的
sMapFragment = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map));
sMapFragment.getMapAsync(this);
到
SupportMapFragment sMapFragment = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map));
sMapFragment.getMapAsync(this);
但我仍然无法找到我的标记。
答案 0 :(得分:0)
由于您的Java代码看起来很好..尝试根据onMapReadyCallback监听器的Google文档编辑XML文件
xmlns:map="http://schemas.android.com/apk/res-auto"
android:name="com.google.android.gms.maps.SupportMapFragment"
希望这会有所帮助!!
答案 1 :(得分:0)
确保您的设备的位置服务已启用,这也是一个好主意。 我浪费了几个小时寻找解决方案,最终发现我的位置服务没有启用!