背景
我有一个更大的应用程序,我在使用新的Google Maps API时遇到了一些问题.我尝试用不同的问题描述它,但由于它看起来太复杂,我决定开始一个新项目,尽可能简单并尝试重现问题.所以这就是.
情况
我正在使用Fragments并希望放入MapView内部.我不想用MapFragment.我准备的示例项目可能不是很漂亮,但我试图让它尽可能简单,它必须包含原始应用程序中的一些元素(再次简化).我有一个Activity和我的习惯Fragment,MapView以编程方式添加.将Map包含一些点/ Markers.点击一个之后Marker的InfoWindow被示出并点击它引起下Fragment所示(与正被replace()在内容功能).
问题
我有两个问题:
当显示Mapwith 时,Markers屏幕旋转会导致Class not found when unmarshalling我的自定义MyMapPoint类错误- 我不知道为什么以及它意味着什么.
我点击Marker然后InfoWindow.在此之后我按下硬件后退按钮.现在我可以看到Map但没有Markers并且集中在0,0一点.
代码
主要活动
public class MainActivity extends FragmentActivity {
private ArrayList<MyMapPoint> mPoints = new ArrayList<MyMapPoint>();
@Override
protected void onCreate(Bundle …Run Code Online (Sandbox Code Playgroud) android android-fragments android-mapview android-maps-v2 fragment-lifecycle
我正在尝试将新的Google Maps Android API v2合并到使用Android支持库的应用程序中.我已经经历了很多迭代,试图到某个地方工作,现在我已经放弃了,我想我应该在这里问.
我转到API控制台,创建了一个项目,为Android启用了Google Maps API v2,根据需要创建了一个调试KEY并将其粘贴到清单上.没有身份验证问题或类似的事情.很确定我做对了.
在我的项目libs文件夹中,我放置android-support-v4.jar(通过项目右键单击 - > Android->添加支持库...).在Eclipse中,我将File-> Import-> Android-> Existing Android Code To Intospace导入并导入最新的(rev 3)android-sdk/google/google_play_services/libproject/google-play-services_lib.然后我将它作为依赖库添加到我的项目中(项目右键单击 - >属性 - > Android->将其添加为底部的库依赖项.
在我的清单中我有:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<permission
android:name="myapp.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<All the uses-permission required like INTERNET, ACCESS_NETWORK_STATE, WRITE_EXTERNAL_STORAGE, FINE AND COARSE LOCATION, etc>
<uses-permission android:name="myapp.permission.MAPS_RECEIVE"/>
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
<application ...>
...
<uses-library android:name="com.google.android.maps" />
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AI..."/>
</application>
Run Code Online (Sandbox Code Playgroud)
在我的mainview.xml中,我有:
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
Run Code Online (Sandbox Code Playgroud)
现在在MainView.java上我有:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager; …Run Code Online (Sandbox Code Playgroud) android google-maps android-support-library google-play-services google-maps-android-api-2