标签: mapactivity

终结者抛出未捕获的异常:谷歌API错误或三星内核错误?

在我的Galaxy Tab 2(三星)上启动我的应用程序时,我一直收到此错误.我正在开发的应用程序非常复杂,很难找到此错误源自何处.所以我开始逐个删除我的应用程序,我最终得到了一个mapview应用程序,你可以在这里找到

剥离后我最终得到的应用程序只是没有overlayItem的mapview!所以按照教程直到第1部分第9点.

这是MapView活动:

package com.****.googlemapstutorial;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import android.os.Bundle;
import android.view.Menu;

public class MainActivity extends MapActivity 
{

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    MapView mapView = (MapView) findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(true);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

@Override
protected boolean isRouteDisplayed() {
    return false;
}
}
Run Code Online (Sandbox Code Playgroud)

我真的被踩了!

有人建议吗?

The error:
10-28 21:09:22.872: E/System(16840): Uncaught exception thrown by finalizer
10-28 21:09:22.872: E/System(16840): java.lang.IllegalStateException: Binder has been finalized!
10-28 21:09:22.872: …
Run Code Online (Sandbox Code Playgroud)

android exception finalizer mapactivity

22
推荐指数
1
解决办法
3073
查看次数

Android MapActivity:无法获得连接工厂客户端

我正在尝试使用Google API示例项目中提供的地图演示.我正在使用AVD并尝试使用版本8,10和11并获得相同的问题.

我已经生成了自己的调试密钥并添加到项目中.我可以看到应用程序启动时的地图,并可以放大等 - 所以我得到地图图块,很好.是的 - 我在清单文件中设置了正确的权限和库(根据示例).

但是,我无法通过DDMS或Telnet在地图上设置位置.我在LogCat中看到以下错误:MapActivity:无法获取连接工厂客户端

我已经阅读了很多关于这个问题的线索,但它们似乎总是由于API密钥错误而导致的; 我没有,因为我正在检索地图图块.

所以我创建了自己的项目来进一步测试,并在初始化我的地图时执行以下代码:

    myLocationOverlay = new MyLocationOverlay(this, mapView);
       mapView.getOverlays().add(myLocationOverlay);
       myLocationOverlay.enableCompass();
       myLocationOverlay.enableMyLocation();
       Log.i("funkatron: ", "ABOUT TO CALL RUN ON FIRST FIX");
       myLocationOverlay.runOnFirstFix(new Runnable() {
           public void run() {
               String loc = "we have a location, executing AnimateTo().
"+myLocationOverlay.getMyLocation().toString();
               Log.i("funkatron:",loc);

mapController.animateTo(myLocationOverlay.getMyLocation());
           }
       });
Run Code Online (Sandbox Code Playgroud)

我看到我的第一个日志语句,但从来没有第二个,并且"MapActivity:无法获取连接工厂客户端"在此时被写入LogCat.

我已经读过SDK v8模拟器存在问题,所以我尝试了v10和11 - 但仍然没有乐趣.我还没有在实际的设备上试过这个 - 很快就会做到.

任何关于这个问题的帮助将不胜感激 - 这真让我感到困惑;)

干杯

android google-maps mapactivity mylocationoverlay

14
推荐指数
1
解决办法
6万
查看次数

MapActivity中的SherlockActionBar

我在整个应用程序中广泛使用Sherlock Action Bar,但是我有一个继承自MapActivity的活动,因此我不能让它继承自SherlockActivity.

有什么方法可以在地图中使用Sherlock Action Bar,这样我就可以自定义它吗?

最好,曼努埃尔.

android mapactivity actionbarsherlock

10
推荐指数
1
解决办法
2880
查看次数

MapFragment在getMapAsync(this)方法中导致NullPointerException

我已经实现了一个MapFragment在运行时添加的活动.该MapFragmentXML有静态的fragment,我试图让添加在运行时.我还发现Lollipop在运行时添加了地图片段存在一些问题.请检查问题临时解决方案

我也在下面给出了我的代码,

fragment_map.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:tools="http://schemas.android.com/tools"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         tools:context=".fragment.MapsFragment">

<fragment
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="appCreators.bloodfinder.activity.MapsActivity"/>

<include
    android:id="@+id/layout"
    layout="@layout/template_custom_spinner"/>

</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

MapsFragment.java

器物 onMapReadyCallback

public class MapsFragment extends SupportMapFragment implements OnMapReadyCallback
Run Code Online (Sandbox Code Playgroud)

onResume回调中

@Override
public void onResume() {
    super.onResume();
    ((SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map)).getMapAsync(this);
}
Run Code Online (Sandbox Code Playgroud)

这总是给我null,我也尝试过,

((SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map)).getMapAsync(this);
Run Code Online (Sandbox Code Playgroud)

这也回归了 NullPointerException

MapsActivity.java

getSupportFragmentManager().beginTransaction().add(R.id.fragmentContainer, MapsFragment.newInstance()).commit();
Run Code Online (Sandbox Code Playgroud)

我在onCreateActivity回调方法中添加了这个.

我无法弄清楚为什么我还在这里NullPointerException!

有时我得到 Attempt to invoke interface method 'void com.google.maps.api.android.lib6.e.fl.o()' on a null object reference

帮助将不胜感激!

更新:仍然没有修复我收到以下错误.我查看了日志,但不知道为什么会发生这种情况. …

android nullpointerexception mapactivity android-fragments supportmapfragment

9
推荐指数
1
解决办法
9359
查看次数

打开MapActivity时,"终结器抛出未捕获的异常"

我的代码中有这些行:

// create tab4
intent = new Intent(this, ActWhereAmI.class)
        .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
tabspecWhereAmI = tabHost
        .newTabSpec("tab4")
        .setIndicator(Utilities.prepareTabView(this,"where am I"))
        .setContent(intent);
tabHost.addTab(tabspecWhereAmI);


public static View prepareTabView(Context context, String text) {
        View view = LayoutInflater.from(context).inflate(
                R.layout.tab_indicator, null);
        TextView tv = (TextView) view.findViewById(R.id.tabIndicatorTextView);
        tv.setText(text);

        return view;
    }
Run Code Online (Sandbox Code Playgroud)

当应用程序运行该行时,tabHost.addTab(tabspecWhereAmI);我只在LogCat中得到以下错误,程序运行没有任何问题:

10-17 13:38:01.164: W/MapActivity(4815): Recycling dispatcher android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher@413c8658
10-17 13:38:01.171: V/MapActivity(4815): Recycling map object.
10-17 13:38:01.335: W/MapActivity(4815): Recycling dispatcher android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher@413c8658
10-17 13:38:01.335: V/MapActivity(4815): Recycling map object.
10-17 13:38:01.554: D/dalvikvm(4815): GC_CONCURRENT freed 776K, 23% free 10286K/13255K, paused 2ms+7ms …
Run Code Online (Sandbox Code Playgroud)

android exception finalizer mapactivity

8
推荐指数
1
解决办法
9643
查看次数

ListView项目中的MapView

我有一个带有listView的活动,其中每个项目在点击时都可以展开,显示一个mapView.如果单击其他项目,则关闭打开的项目.该活动扩展了MapActivity,并且只有一个mapview实例,我将其删除并根据需要添加到项目中,如下所示:

private MapView getMapView() {
    if (mMapView == null) {
        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        mMapView = (MapView) inflater.inflate(R.layout.club_map,null);
    }
    else
    {
        ((ViewGroup) mMapView.getParent()).removeView(mMapView);
    }
    return mMapView;
}

private void attachMap(View targetView,String siteID) {
    if (openInPrgrs) {
        return;
    }
    RelativeLayout relView = (RelativeLayout) targetView.findViewById(R.id.clubDetailsLayout);
    LinearLayout mapContainer = (LinearLayout) relView.findViewById(R.id.mapContainer);
    UtilFunctions.logIfDebug("MembershipsList","Attaching Map. siteID " + siteID + " childCount = " + mapContainer.getChildCount());
    if (mapContainer.getChildCount() > 0 ) {
        return;
    }
    MapView mapView = getMapView();
    mapContainer.addView(mapView);
}
Run Code Online (Sandbox Code Playgroud)

它在大多数情况下工作正常,但是当屏幕关闭并重新打开时,或者打开的项目在屏幕上滚动并返回时,mapView会消失.我知道这是因为listView正在回收视图.如果我尝试在getView()中附加地图(如果视图处于打开位置):

public View getView(int …
Run Code Online (Sandbox Code Playgroud)

android listview android-layout mapactivity android-mapview

6
推荐指数
1
解决办法
2370
查看次数

Android我的位置 - 修复

当我的地图活动被调用时,我在onCreate中调用addUserMapPoint.此函数包含两个实例,我尝试使用myOverlay.getMyLocation获取位置信息.在此活动的初始加载时,第一次尝试的结果返回一个空的GeoPoint,并在主UI线程完成位于myOverlay.runOnFirstFix的监听器线程中的第二次尝试(新的Runnable()...在一秒后调用并且确实包含一个包含lat和lon的GeoPoint.这个监听器函数内的调用看起来似乎把点放在地图上,而mapController.animateTo(gp)行确实将地图移动到我的位置.我的应用程序有一个刷新按钮,当clicked再次触发此活动.我需要lat和lon才能从另一个服务获取位置数据.刷新后,第二次通过map活动代码我期待第一次调用myOverlay.getMyLocation()现在将是能够获得GeoPoint,但它仍然是null.

如果我不能通过第一次调用myOverlay.getMyLocation来获取GeoPoint,那么如何从myOverlay.runOnFirstFix(new Runnable()...线程中找到的第二个调用中传递lat和lon值.你会注意到我一直在尝试将lat和lon添加到MyApp,它是辅助bean类,但是即使在刷新之后,此类中的lat和lon也为null.如果我在addUserMapPoint函数中手动设置lat和lon第一次活动访问这些值是保留的.我猜这是因为它是在主UI线程上设置的.

public class MapActivity extends com.google.android.maps.MapActivity {
    private MapView mapView = null;
    private MapController mapController = null;
    private MyLocationOverlay myOverlay = null;

    public static MyApp app;

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_map);

        app = (MyApp) getApplicationContext();

        mapView = (MapView) findViewById(R.id.mapview);
        mapView.setBuiltInZoomControls(true);
        mapController = mapView.getController();

        List<Overlay> mapOverlays = mapView.getOverlays();
        mapOverlays.clear();

        addUserMapPoint(mapView);

        if (!app.isLocServOff()) {
            //map other points – service call to get items from our service near lat and lon
            addOtherMapPoints(mapOverlays);

        } else {
            Toast.makeText(app.getApplicationContext(),"Current location could …
Run Code Online (Sandbox Code Playgroud)

android mapactivity mylocationoverlay android-mapview geopoints

6
推荐指数
1
解决办法
2416
查看次数

Android MapActivity在地图上的运动

我希望监视某人何时移动到地图上的另一个地方,MapActivity但我不知道该怎么做.也许是某种OnMapChange()监听器?

android google-maps mapactivity

5
推荐指数
1
解决办法
1618
查看次数

第一个MapActivity实例是否总是泄漏?

在调查我们的应用程序中的内存问题时,事实证明如果应用程序Activity是MapActivity,它的第一个实例将不会被最终确定.导致其他内存泄漏,例如传递给setContentView的视图.

有没有人注意到之前?

以下是测试代码,显示"MainActivity:1"尚未最终确定,而MainActivity是否继承自Activity.

要进行测试,需要多次更改设备或仿真器方向.


import com.google.android.maps.MapActivity;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends MapActivity {
  private static final String  defaultTag          = "MA";

  private static final boolean isDebugModeActivate = true;
  private static final boolean isClassTagDisplayed = false;
  private static final boolean isWebModeActivate   = false;

  static public void d(Object thiso, String message)
  {
      String tag = defaultTag + (isClassTagDisplayed == true ? "_" + thiso.getClass().getSimpleName() : "");
      message = (isClassTagDisplayed == false ? thiso.getClass().getSimpleName() + " : " : …
Run Code Online (Sandbox Code Playgroud)

android google-maps memory-leaks mapactivity

5
推荐指数
1
解决办法
1091
查看次数

脱机使用mapfragment功能

我正在开发一个跟踪应用程序,因此我使用GPS数据在画布中绘制路线+检查点.问题是,我在SurfaceView中开发了zoom/drag + span以及所有"lat-long to cartesian conversion",但是如果我可以使用maps api功能(我自己的话)就可以轻松完成所有这些工作.覆盖).

所以我的问题是,我可以使用没有互联网连接的地图api/MapFragment并利用api功能吗?你们有没有做过这样的事情?

android mapactivity mapfragment

5
推荐指数
1
解决办法
507
查看次数