标签: google-maps-android-api-2

android java.io.IOException:服务不可用

描述:我正在使用Google maps API V2.我已Android Reverse Geocoding在触摸位置实施.

问题:它抛出异常

 try {
     addresses = geocoder.getFromLocation(latitude, longitude,1);}
 catch (IOException e)
     {
     e.printStackTrace();
     if(AppConstants.DEBUG)Log.v(AppConstants.DEBUG_TAG," e.printStackTrace(): "+e.getMessage());
     }
Run Code Online (Sandbox Code Playgroud)

我收到latitude并且longitude价值正确,但我无法理解为什么它会抛出exception,我也做了谷歌搜索,但它无能为力.

任何人都可以详细解释一下吗?

android google-maps-android-api-2

35
推荐指数
3
解决办法
3万
查看次数

Android地图标记颜色?

在Android地图上制作标记的颜色是什么?
有多少种颜色以及如何编写颜色代码?

android colors marker google-maps-android-api-2

35
推荐指数
3
解决办法
4万
查看次数

Android Maps API需要openGL es 2

Maps v2文档说明:

由于Google Maps Android API的第2版需要OpenGL ES版本2,因此您必须在AndroidManifest.xml中添加<uses-feature>元素作为元素的子 manifest元素:

<uses-feature   
   android:glEsVersion="0x00020000"  
   android:required="true"/>` 
Run Code Online (Sandbox Code Playgroud)

这会向外部服务通知该要求.特别是,它可以防止Google Play商店在不支持OpenGL ES版本2的设备上显示您的应用.

事实上,exception如果不在清单中,它会抛出一个.我不想在商店中过滤我的应用程序,我计划继续使用旧设备的旧地图,并且只有在运行时检测到所需的功能时才显示新地图,而不是在安装之前检测到.

那我该怎么做?是否必须是多个APKs不同的东西manifests

android google-maps-android-api-2

34
推荐指数
1
解决办法
2万
查看次数

xml中的Android Google Maps片段.我得到"意外的命名空间前缀"

我正在尝试学习android,并按照如何使用Google Maps API V.2的说明进行操作.但是,有关如何配置地图初始状态的说明(在developers.google.com中找到)建议在xml文件中定义名称空间,在本例中为"map".

下面的xml代码给出了错误"Unexpected namespace prefix"map" ".尝试定义片段标记内的xmlns:map会产生相同的错误,但使用"xmlns".

我显然在这里缺少一些基本的xml知识,有人可以帮助我吗?

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"        
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:map="http://schemas.android.com/apk/res-auto"      <!-- Definition -->
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment 
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment"
        map:cameraBearing="112.5"/>                            <!-- PROBLEM -->

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

xml android xml-parsing android-layout google-maps-android-api-2

34
推荐指数
4
解决办法
3万
查看次数

NoSuchFieldError:将MapFragment与Play Services 6.5一起使用时,没有静态字段MapAttrs类型

也许我在这里遗漏了一些东西,但我无法在Play Services 6.5中使用新的Maps依赖项

我得到以下异常:

java.lang.NoSuchFieldError: No static field MapAttrs of type 
    [I in class Lcom/google/android/gms/R$styleable; or its superclasses 
    (declaration of 'com.google.android.gms.R$styleable' appears in 
    /data/app/com.kaching.merchant.dev1-1/base.apk)
        at com.google.android.gms.maps.GoogleMapOptions
            .createFromAttributes(Unknown Source)
        at com.google.android.gms.maps.SupportMapFragment
            .onInflate(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

表现:

<meta-data android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />

<meta-data
  android:name="com.google.android.maps.v2.API_KEY"
  android:value="my-awesome-key"/>


<uses-permission 
  android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
Run Code Online (Sandbox Code Playgroud)

Gradle文件:

compile 'com.google.android.gms:play-services-maps:6.5.+'
compile 'com.android.support:support-v4:21.0.2'
Run Code Online (Sandbox Code Playgroud)

布局:

<fragment
   android:id="@+id/map"
   android:name="com.google.android.gms.maps.MapFragment"
   android:layout_width="match_parent"
   android:layout_height="match_parent"/>
Run Code Online (Sandbox Code Playgroud)

这是坏了还是我做错了什么?

完整的捆绑推动了我超过dex限制,我宁愿不使用multidex

android google-play-services google-maps-android-api-2 android-gradle-plugin

34
推荐指数
2
解决办法
1万
查看次数

谷歌地图android v2中的自定义信息窗口

我正在使用谷歌地图API V2,我已经InfoWindow为地图创建了一个自定义.Marker在这里InfoWindow我有一个按钮.

我的问题是无法将Onclicklistener /功能设置为该Button(Dummy).任何一个给我一些想法来解决这个问题:

在此输入图像描述

这是代码片段:

public class MarkerView extends FragmentActivity implements OnMarkerClickListener,OnInfoWindowClickListener{

private GoogleMap mMap;
private Marker chennai;
private View infoWindow;
@Override
protected void onCreate(Bundle arg0) {
    super.onCreate(arg0);
    setContentView(R.layout.basic_demo);

    infoWindow=getLayoutInflater().inflate(R.layout.custom_info_contents, null);

    mMap=((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
    chennai=mMap.addMarker(new MarkerOptions().position(new LatLng(13.0810, 80.274)).anchor(2, 1).title("Android").snippet("Snippet").icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher)));
    mMap.setInfoWindowAdapter(new CustomInfoAdapter());
    mMap.setOnInfoWindowClickListener(null);
    mMap.setOnMarkerClickListener(this);
    Button dummy=(Button) infoWindow.findViewById(R.id.dummy);
    dummy.setVisibility(View.VISIBLE);
    dummy.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Toast.makeText(MarkerView.this, "Dummy Button", Toast.LENGTH_SHORT).show();

        }
    });
}


class CustomInfoAdapter implements InfoWindowAdapter{


    @Override
    public View getInfoContents(Marker arg0) {
        displayView(arg0);
        return …
Run Code Online (Sandbox Code Playgroud)

maps android google-maps google-maps-android-api-2

33
推荐指数
2
解决办法
4万
查看次数

谷歌地图v2:授权失败

授权失败.有关如何正确设置地图的信息,请参阅https://developers.google.com/maps/documentation/android/start.

确保以下内容与API控制台中的内容相对应:软件包名称:com.company.app,API密钥:AIzaSyC***OsTeo,证书指纹:4E5285***6BF53ED3 无法与Google服务器联系.建立连接时将进行另一次尝试.

无法加载地图.联系Google服务器时出错 这可能是一个身份验证问题(但可能是由于网络错误).


我知道关于这个问题还有更多的问题.但我似乎无法让地图视图起作用.结果是一个空的地图视图(带有缩放按钮).

我做了什么:
- 下载/安装了google-play-services
- 已添加google-play-services.jarlibs/
- Google Maps API v2在code.google.com/apis/console中启用
- 设置正确的权限

这就是我的清单的样子:

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<permission
    android:name="com.company.app.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.company.app.permission.MAPS_RECEIVE" />

<application ...>
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AIzaSyC***OsTeo" />
</application>
Run Code Online (Sandbox Code Playgroud)

Google API控制台api访问权限如下所示:

Key for Android apps (with certificates)
API key:        AIzaSyC***OsTeo
Android apps:   4E:52:85:***6B:F5:3E:D3;com.company.app …
Run Code Online (Sandbox Code Playgroud)

android google-maps-android-api-2

33
推荐指数
5
解决办法
4万
查看次数

如何禁用Android Map Fragment中的地图旋转功能

我使用适用于AndroidGoogle Maps Api Version 2将MapFragment添加到我的应用程序中.

这个片段在速度和API可用性方面有很大改进.可悲的是,它还允许用双指手势旋转地图.我想禁用旋转,因为通常会识别这两个手指手势而不是缩放手势.

如何禁用地图旋转?

android google-maps mapfragment google-maps-android-api-2

32
推荐指数
1
解决办法
2万
查看次数

在Google地图v2上制作动画标记

使用v2 API在Google地图上制作标记的最佳方法是什么?

我正在开发一个以地图为中心的游戏,我在这里跟踪人物的位置并在地图上显示它们以供彼此查看.随着人们的移动,我想要将一个标记从他当前的动态设置为最新的位置.每个人都有方向,所以我需要适当地旋转标记.

使用新版Google Maps API的最佳方法是什么?

android google-maps google-maps-mobile google-maps-android-api-2

32
推荐指数
3
解决办法
5万
查看次数

添加大量标记后,Google Maps Android API v2速度非常慢

我正在更新现有的Android应用以使用新的Google Maps Android API v2.我有大约2500个标记要添加到地图中.使用旧版本的API,我发现当有2500个标记时,地图的响应性是可怕的,所以我不得不通过添加位于地图当前可见区域的标记来解决它.

我希望使用新的API可以更快地使用2500个标记,但它仍然很糟糕,即使在Nexus 4上也是如此,我没有看到任何类型的聚类选项.

所以我的问题是:如何确定某个纬度/经度点是否包含在地图的可见区域内?

我在文档中查看了VisibleRegion,但到目前为止我还没有运气.任何帮助是极大的赞赏.

*旁注:即使使用iPhone 3gs,iOS MKMapView(谷歌地图或Apple地图)上的2500个标记也非常流畅和响应.我仍然无法理解为什么它在Android上如此之慢,即使使用最新最好的硬件也是如此.

android-mapview google-maps-android-api-2

31
推荐指数
2
解决办法
2万
查看次数