我改变了我的代码,如下所示;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try
{
setContentView(R.layout.harita);
}
catch (Exception e)
{
e.printStackTrace();
}
boolean kontrol = true;
Bundle bundle = getIntent().getExtras();
String enlem = "";
if(bundle.getString("enlem") != null)
{
enlem = bundle.getString("enlem");
}
else
{
kontrol = false;
}
String boylam = "";
if(bundle.getString("boylam") != null)
{
boylam = bundle.getString("boylam");
}
else
{
kontrol = false;
}
String baslik = "";
if(bundle.getString("baslik") != null)
{
baslik = bundle.getString("baslik");
}
else
{
kontrol = false;
}
if (kontrol == true) {
GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.haritaFragment)).getMap();
LatLng position = new LatLng(Double.parseDouble(enlem),Double.parseDouble(boylam));
map.setMyLocationEnabled(true);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(position, 13));
map.addMarker(new MarkerOptions().title(baslik).snippet("Baslik").position(position));
}
}
和我的布局;
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/haritaFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"/>
我还将此代码添加到我的Manifest.xml中;
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
它的值与strings.xml中的值相同;
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="google_play_services_version">4030500</integer>
</resources>
我改变了我的代码。现在我在setContentView尝试catch块时收到类似“Binary XML file line#2:Error inflating class fragment”的错误。
答案 0 :(得分:1)
可能出现的问题:
您可能需要封装片段。
您的API级别应超过8
您应该从Project-&gt; Properties-&gt; Android
如果您在同一工作区中运行地图演示,我建议您将其删除。
此问题似乎与设备无关,但尝试在设备上进行测试而不是模拟器
答案 1 :(得分:0)
使用此布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"/>
</LinearLayout>