标签: android-maps

将对象与Marker关联(google map v2)

在我的应用程序中,我有一些对象,它们的位置使用标记显示在地图上.问题是,我发现处理标记点击的唯一方法是

googleMap.setOnMarkerClickListener(new ... {
    @Override
    public void onMarkerClick(Marker marker) {
       // how to get the object associated to marker???
    }
})
Run Code Online (Sandbox Code Playgroud)

换句话说,我得到Marker对象,而我唯一的接口允许我只设置MarkerOptions.

有什么方法可以将Marker与一个对象相关联?

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

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

是什么让我的地图片段加载缓慢?

绩效提升:

以前我将所有图像保存在drawable文件夹中,这可能是地图首次加载缓慢的原因,当在屏幕上绘制标记时,图像可能不适合屏幕大小.现在我保存了图像drawable-mdpi,drawable-hdpi等等,应用程序比以前更顺畅.希望能帮助到你

原始问题:

我在片段中创建了一个地图,源代码可以在下面找到.

第一次加载时,地图片段缓慢.如果我再去任何其他片段并再次点击地图片段,它就会加载得很快而且没有slug.

谁能告诉我这里发生了什么?谢谢!

fragment_map.xml,id是 map

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

MyMapFragment.java(包含onCreateViewsetUpMapIfNeeded)

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    try {
        rootView = inflater.inflate(R.layout.fragment_map, container, false);
    } catch (InflateException e) {
    /* map is already there, just return view as it is */
        Log.e(TAG, "inflateException");
    }

     setUpMapIfNeeded();

    return rootView;
}


public void setUpMapIfNeeded() …
Run Code Online (Sandbox Code Playgroud)

android android-maps android-maps-v2

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

如何在android map api V2中制作标记?

我想实现平滑过渡以模拟在地图上移动的汽车标记.

是否可以在android map api v2中设置动画标记?

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

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

GestureDetector弃用问题

我有这个代码

itemizedOverlay = new MyItemizedOverlay(drawable,this);
itemizedOverlay.setGestureDetector(new GestureDetector(new MyGestureDetecor()));
Run Code Online (Sandbox Code Playgroud)

但在Eclipse中new GestureDetector标记为Deprecated.

我想避免使用已弃用的方法.

我怎么能解决这个问题?

什么是不弃用的表格?

android deprecated android-maps android-mapview

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

Google Maps API V2'无法加载地图.无法联系Google服务器

我已经检查并仔细检查了我在Google控制台上注册的API密钥但是我仍然收到以下错误:

12-05 16:31:12.940: E/Google Maps Android API(12334): Failed to load map.  Could not contact Google servers.
Run Code Online (Sandbox Code Playgroud)

我所看到的是放大/缩小按钮和MapView的背景但没有Map ??? !!!

有任何想法吗???

回答

我将在此发布,因为解决了我的问题的原因已在下面接受的答案的评论中说明.

这是READ_GSERVICES许可.出于某种原因,在开发人员网站上使用它们时未提及该权限.

android android-maps

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

如何移动Android Google Maps API指南针位置

有谁知道你是否可以改变地图内的指南针位置?

我能找到的就是如何启用或禁用它.但我需要将它向下移动一点,这样我的叠加层就不会妨碍它.

在此输入图像描述

android android-maps

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

谷歌地图为Android我的位置自定义按钮

如何更改谷歌地图我的位置默认按钮?我设置了我的位置启用和地图绘制标准图像来查找位置,是否可以更改默认图像?

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

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

Google地图的夜间模式?

我的问题很简单.谷歌地图有夜间模式吗?到目前为止,我只能申请GoogleMap.MAP_TYPE_NORMAL| GoogleMap.MAP_TYPE_TERRAIN| GoogleMap.MAP_TYPE_SATELLITE但找不到夜间模式.我想要这样的东西在此输入图像描述

不要建议我使用叠加,我已经尝试过了.我无法使用它,因为我必须在上面放置标记.

碰到这篇文章,但它已经2岁了,我想应该有一些改进.

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

21
推荐指数
3
解决办法
7449
查看次数

使用Google Maps API查找最近的位置

嗨,我正在写一个应用程序,显示一个地址附近的自行车站.我有一个服务的每个自行车站的纬度和经度位置列表.

到目前为止,我可以标记当前位置或任何地址.如何在地图上显示我所在位置附近的所有自行车站.我是否首先从当前位置获取最近的Google地点,然后访问数据库以获取自行车位置并在地图上制作标记?什么是最好的方法?

google-maps-api-3 android-maps

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

隐藏android google maps API v2中的标记信息窗口

目前,我可以使用Android Google Maps API v2在Google地图中查看我的所有标记.

在地图中添加我的标记:

mapView.addMarker
     (new MarkerOptions()
      .position(aUsersLocation).
      icon(BitmapDescriptorFactory.fromBitmap(aUserImage))
      .snippet(My_VALUE_1)
      .title(My_VALUE_2)
     .hideInfoWindow();
Run Code Online (Sandbox Code Playgroud)

我有几个标记,并为每个标记的代码段和标题指定了几个值(My_VALUE_1和My_VALUE_2).当用户点击标记时,我需要这些唯一值,我将在onMarkerClick监听器中收到以下值:

        @Override
        public boolean onMarkerClick(Marker theMarker) 
        {
            String aValue1 = theMarker.getSnippet();
            String aValue2 = theMarker.getTitle();
            theMarker.getPosition().latitude...
           ...
            return false;
        }
Run Code Online (Sandbox Code Playgroud)

我的问题是:当我将标题和标题值添加到标记时,当用户单击标记时,会显示infoWindow.

我需要隐藏标记的infoWindow.我尝试使用hideInfoWindow,但似乎无法正常工作.

请给我任何建议.

谢谢.

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

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