标签: android-mapview

Android 2.1 GoogleMaps ItemizedOverlay ConcurrentModificationException

我无法弄清楚它的起源ConcurrentModificationException.在我的activity呼唤中 updateMapOverlay().我也在updateMapOverlay()另一个TimerTask定期调用的Thread(a )中调用.updateMapOverlay()从两个线程调用时,我正在使用适当的锁.这个问题是由于我updateMapOverlay从非UI线程(即TimerTask)中调用而引起的.还有其他人遇到过类似的问题吗?

private void updateMapOverlay() {

    this.itemizedOverlay.refreshItems(createOverlayItemsList());
    List<Overlay> overlays = mapView.getOverlays();
    overlays.clear();
    overlays.add(cotItemizedOverlay);
            this.mapview.invalidate();

}
Run Code Online (Sandbox Code Playgroud)

ConcurrentModificationException

谢谢.

例外:

W/dalvikvm(10641): threadid=3: thread exiting with uncaught exception (group=0x4001b180)
E/AndroidRuntime(10641): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime(10641): java.util.ConcurrentModificationException
E/AndroidRuntime(10641):    at java.util.AbstractList$SimpleListIterator.next(AbstractList.java:64)
E/AndroidRuntime(10641):    at com.google.android.maps.OverlayBundle.draw(OverlayBundle.java:41)
E/AndroidRuntime(10641):    at com.google.android.maps.MapView.onDraw(MapView.java:494)
E/AndroidRuntime(10641):    at android.view.View.draw(View.java:6535)
E/AndroidRuntime(10641):    at android.view.ViewGroup.drawChild(ViewGroup.java:1531)
E/AndroidRuntime(10641):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
E/AndroidRuntime(10641):    at android.view.ViewGroup.drawChild(ViewGroup.java:1529)
E/AndroidRuntime(10641):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
E/AndroidRuntime(10641): …
Run Code Online (Sandbox Code Playgroud)

concurrency android google-maps itemizedoverlay android-mapview

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

android mapview最大缩放级别只有19

我在我的android上创建了一个简单的MapActivity,并发现它的MapView无法放大到19级以上.放大按钮只是变灰了.调用zoomIn()方法也无效,级别仍然保持在19.

但是,当我启动官方Google地图应用程序时,地图的完全相同区域会成功将两个级别放大到21.

任何人都可以告诉我如何在我自己的应用程序中进一步放大?我是否缺少明确设置一些参数(manifest,mapactivity,mapcontroller)?到目前为止真的找不到它,并对此感到很困惑,看到了差异.

最近有人问过类似的问题,但也没有答案.

android zoom android-mapview

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

从mapview隐藏Google徽标

在mapview中的某些Android设备上,Google徽标显示为灰色或红色矩形.是否可以从mapview中删除它?

android google-maps android-mapview

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

如何同时显示MapView和StreetView?

我想显示一个MapView,可用于选择StreetView在单独区域中显示的点.我知道API在一个进程中不允许多个MapView.

如何使StreetView显示在与显示MapView不同的区域?

我已经能够毫无问题地获取静态街景,但我希望拥有动态街景和MapView.

aTdHvAaNnKcSe(感谢提前)

android google-street-view android-mapview

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

如何在地图视图上检测当前缩放级别?

我有一个地图视图,从当前位置绘制半径叠加.但为此,我需要知道地图上的当前缩放级别.我怎样才能做到这一点?

android android-mapview

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

无法选择注释?

我在地图视图上有一个注释.我可以通过编程方式选择它,但我点击它没有任何反应.你可以帮帮我吗?有没有人遇到类似的问题?这是设置anotations的方法:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
    MKAnnotationView *aView = [mapView dequeueReusableAnnotationViewWithIdentifier:@"MapVC"];
    if (!aView) {
        aView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"MapVC"];
        aView.canShowCallout = YES;
        aView.draggable=YES;
        aView.leftCalloutAccessoryView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
        // could put a rightCalloutAccessoryView here
    }
    aView.annotation = annotation;
    [(UIImageView *)aView.leftCalloutAccessoryView setImage:nil];
    return aView;
}
Run Code Online (Sandbox Code Playgroud)

并将它们添加到地图视图中:

- (void)updateMapView
{
    if (self.mapView.annotations) [self.mapView removeAnnotations:self.mapView.annotations];
    if (self.annotation) [self.mapView addAnnotation:self.annotation];
}
Run Code Online (Sandbox Code Playgroud)

并且对按下注释做出反应:

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)aView
{
    NSLog(@"did select annotation");
}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,方法[self.mapView selectAnnotation:annotation]有效,但没有提出一个标注(我用断点检查它).虽然只是录制注释不会(再次通过断点).

select annotations objective-c ios android-mapview

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

围绕一组标记中心和缩放Android MapView?

我有一个mapView,其中几个点用标记绘制,每个标记具有不同的纬度和经度,可能在附近可能相邻也可能不相近.有没有办法让MapView打开到最深的缩放级别,将屏幕上的所有点集中在一起?

我知道mapController有一个setZoom和setCenter属性,但是如何确定这些方法的值呢?或者还有另一种更简单的方法来实现这一目标吗?

google-maps android-mapview

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

在Android上剪切/屏蔽MapView

我试图在Android上将MapView显示为圆圈,就像这样:

protected void onDraw(Canvas canvas) {
    Path path = new Path();
    path.addCircle(400,200,100,Direction.CW);
    canvas.clipPath(path);
    super.onDraw(canvas);
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,MapView(v2:)com.google.android.gms.maps.MapView组件似乎忽略了这一点,而只是采取该圆的边界/矩形来绘制地图:(

我一直在网上搜索一段时间,没有找到一个很好的解决方案.

这甚至可能吗?(Blundell解决方案对我不起作用,因为我希望背景在地图上可见)

谢谢!

android canvas clipping masking android-mapview

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

Android Map是纯白色屏幕 - 没有错误

XML(activity_maptest.xml):

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:name="com.google.android.gms.maps.MapFragment"/>
Run Code Online (Sandbox Code Playgroud)

Java(Maptest.java):

package com.example.app;

import android.app.Activity;
import android.os.Bundle;

public class Maptest extends Activity {

    public class MapActivity extends Activity {

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

}
Run Code Online (Sandbox Code Playgroud)

表现:

<uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
    .
    .
    .
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
<application
        android:allowBackup="true"
        android:icon="@drawable/icon_launcher"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
        .
        .
        .
        <activity
            android:name="com.example.app.Maptest"
            android:label="@string/title_activity_maptest" >
        </activity> …
Run Code Online (Sandbox Code Playgroud)

android google-maps android-mapview

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

尝试添加Google地图时出错

情侣飞蛾前我在Android N上测试这个应用程序,一切都会正常工作,但现在我有错误.现在我使用MapFragment并出现此错误:

05-09 23:22:35.816 11112-11112/pc.dd.sex_startup E/AndroidRuntime: FATAL EXCEPTION: main
                                                               Process: pc.dd.sex_startup, PID: 11112
                                                               java.lang.RuntimeException: Unable to start activity ComponentInfo{pc.dd.sex_startup/pc.dd.sex_startup.LogIn.Maps.Map}: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class fragment
                                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2423)
                                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2483)
                                                                   at android.app.ActivityThread.access$900(ActivityThread.java:153)
                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1349)
                                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                   at android.os.Looper.loop(Looper.java:148)
                                                                   at android.app.ActivityThread.main(ActivityThread.java:5441)
                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738)
                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
                                                                Caused by: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class fragment
                                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:543)
                                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
                                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
                                                                   at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) …
Run Code Online (Sandbox Code Playgroud)

android android-maps android-mapview android-maps-v2

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