标签: android-maps-utils

ClusterManager setOnCameraIdleListener

在尝试实现使用时ClusterManager,我注意到它已getMap().setOnCameraChangeListener(clusterManager)被弃用.看一下Github上的android-maps-utils示例,我注意到了getMap().setOnCameraIdleListener(mClusterManager);

当我尝试做同样的事情时,我得到一个错误,因为默认ClusterManager类没有实现GoogleMap.OnCameraIdleListener.

然而,在我的gradle文件中,我使用的是最新的maps-util库:

dependencies {
    compile 'com.google.maps.android:android-maps-utils:0.4.3'
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能访问最新的ClusterManager课程?谢谢

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

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

谷歌地图与群集管理器:不推荐使用onCameraChangeListener

我有一个Android应用程序,大约有500-1000个标记.我现在用的是ClusterManager从Android的地图-utils的这里群集这些标记.

在最新的Play服务更新中,Google更改了Google地图的收听模型.将OnCameraChangeListener被标记为已弃用.相反,有四个新的听众(OnCameraIdleListener, OnCameraMoveListener, OnCameraMoveStartedListener,OnCameraMoveCanceledListener).

自那次更新以来,我的应用程序非常慢.它坚持移动/缩放地图,聚类过程滞后,需要几秒钟.

我认为这种行为可能与侦听器模型中的更改有关.因此我试图addOnCameraChangeListener(clustermanager)用新的替换功能addOnCameraIdleListener(clustermanager).不幸的是,这不起作用,因为ClusterManager没有实现必要的接口.

这就是它变得奇怪的地方,因为ClusterManagerGitHub上的当前版本(0.4.3)确实实现了该接口.所以它应该工作.

我正在使用Gradle导入ClusterManager:

compile 'com.google.maps.android:android-maps-utils:0.4.3

但我的本地版本ClusterManager似乎仍然是一个旧的实现旧版本OnCameraChangeListener.

那么这里有什么问题?这是Gradle的不当行为吗?有人知道如何解决这个问题吗?自上次播放服务更新以来,Google Map/Clusterer的播放速度是否缓慢且有任何其他人?

我感谢任何帮助.多谢你们.

android markerclusterer google-maps-android-api-2 android-maps-utils

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

Google Map Android API v2-折线上的InfoWindow?

polyline在地图上绘图,现在需要向用户显示一些数据。

如何在每个上绘制文本或InfoWindow polyline

我添加polyline像:

ArrayList<LatLng> points = null;
PolylineOptions lineOptions = null;
MarkerOptions markerOptions = new MarkerOptions();

// Traversing through all the routes
for(int i=0;i<result.size();i++){
    points = new ArrayList<LatLng>();
    lineOptions = new PolylineOptions();
    String color = colors[i % colors.length];
    // Fetching i-th route
    List<HashMap<String, String>> path = result.get(i);

    // Fetching all the points in i-th route
    for(int j=0;j<path.size();j++){
        HashMap<String,String> point = path.get(j);

        double lat = Double.parseDouble(point.get("lat"));
        double lng = Double.parseDouble(point.get("lng"));
        LatLng position = new LatLng(lat, …
Run Code Online (Sandbox Code Playgroud)

android polyline android-maps-v2 android-maps-utils

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

java.lang.RuntimeException:createContext 失败:真实设备上的 12291

在 crashlytic 仪表板上,我可以看到各种设备上的大量崩溃 - 三星、摩托罗拉、索尼等操作系统 - Android 4、5、6。

Fatal Exception: java.lang.RuntimeException
createContext failed: 12291

com.google.maps.api.android.lib6.gmm6.vector.ba.a
com.google.maps.api.android.lib6.gmm6.vector.ba.a (:com.google.android.gms.dynamite_mapsdynamite@14799008@14.7.99 (000306-223214910):22)
com.google.maps.api.android.lib6.gmm6.vector.bb.run (:com.google.android.gms.dynamite_mapsdynamite@14799008@14.7.99 (000306-223214910):161)
Run Code Online (Sandbox Code Playgroud)

注意 - 这些是真实设备而不是模拟器,我可以在其中将设置更改为 Software GLES 2.0 。

android google-maps android-maps-utils

5
推荐指数
0
解决办法
1157
查看次数

在 Android 应用程序中将 geojson 文件添加到我的地图

我对 Android Studio 和 Java 很陌生。我尝试制作带有一些兴趣点的地图应用程序。这些点是一个 geojson 文件。我阅读了 google 的示例及其网站(Google Maps Android GeoJSON Utility)中的说明,但我的代码中有一些错误。第一个错误是关于 getmMap 方法,(错误:找不到符号方法 getnMap())。我找到解决方案的第二个是关于文件它不需要扩展名(geojson)。我在 rs 中创建了一个名为 raw 的文件夹,并在其中添加了 geojson 文件。

MapsActivity.java 的完整代码

package com.example.vassilis.goldman_find_atm;

import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.maps.android.data.geojson.GeoJsonLayer;

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

    private static final int MY_REQUEST_INT = 177;
    private GoogleMap mMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); …
Run Code Online (Sandbox Code Playgroud)

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

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

如何暂时禁用地图标记聚类?

我正在使用Google Maps V2 for Android和maps utils扩展库进行标记聚类.应用程序的某些部分不需要获取聚集标记.

有没有办法禁止clusterManager集群标记,并在某些条件后让它再次集群项目?

android android-maps-v2 android-maps-utils

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

使用 Googles android-maps-utils 禁用最大缩放级别的聚类

我正在使用android-maps-utils 中的聚类在 Android 中的 Google 地图上对标记进行聚类。我想在地图处于最大缩放级别时禁用聚类(即,如果地图处于最大缩放级别,则始终呈现单个 ClusterItems,否则群集正常)。

通过在扩展 DefaultClusterRenderer 的自定义类中对 shouldRenderAsCluster() 中的缩放级别进行测试,我几乎可以让它工作。但是,我的解决方案比实际缩放级别落后一步。例如,如果地图的最大缩放级别为 21,并且用户从级别 20 放大到级别 21,则 shouldRenderAsCluster 中的检查将获得当前缩放级别 20。如果用户然后缩小到级别 20,检查将获得第 21 级。 ClusterItems 像我想要的那样被渲染为单个项目,但是一个缩放操作为时已晚。

我从 DefaultClusterRenderer 中设置的变量 mZoom 中获得了“当前缩放”(显然不是真正的当前缩放)。

这是代码:

public class UserClusterRenderer extends PosMapDefaultClusterRenderer<UserClusterItem> {

    // ...

    @Override
    protected boolean shouldRenderAsCluster(Cluster cluster) {
        return mZoom < mMap.getMaxZoomLevel() && cluster.getSize() > 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

变量 mZoom 和 mMap 在 DefaultClusterRenderer 中设置。因为他们在那里有私有访问权限,所以我制作了一个名为 PosMapDefaultClusterRenderer 的 DefaultClusterRenderer 副本。唯一的区别是 mZoom 和 mMap 被声明为受保护的,因此它们可以在 UserClusterRenderer 中访问。

为什么 mZoom 会落后一个缩放操作?有没有办法获得正在渲染集群的真实缩放级别?

缩放是通过使用来自cameraPosition 的cameraUpdate 调用animateCamera 来完成的。 …

java android google-maps google-maps-android-api-2 android-maps-utils

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

从点和填充创建 CameraUpdate 以很好地显示标记

我有一个 LatLng 点列表,我想将其显示为 Google 地图上的标记。\n我当前正在按以下方式计算适合所有点的相机视图:

\n\n
    \n
  1. 首先,我用所有点计算 LatLngBounds。

    \n\n
    Iterator<LatLng> i = items.iterator();\nLatLngBounds.Builder builder = LatLngBounds.builder();\nwhile (i.hasNext()) {\n    builder.include(i.next());\n}\nLatLngBounds bounds = builder.build();\n
    Run Code Online (Sandbox Code Playgroud)
  2. \n
  3. 然后我使用适当的方法:

    \n\n
    CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, padding);\n
    Run Code Online (Sandbox Code Playgroud)
  4. \n
\n\n

该更新提供了我所有观点的良好视图,并有一些不错的填充。

\n\n

问题

\n\n

I\xe2\x80\x99d 喜欢对 paddingTop、paddingBottom、paddingLeft 和 paddingRight 应用不同的值。也就是说,我两边都没有任何东西,然后我在顶部有一个浮动工具栏(大约50dp),在底部有一个浮动卡(大约200dp)。

\n\n

如果我不添加填充,某些点将被顶部工具栏或底部卡片覆盖。

\n\n

如果我添加最大填充(200dp),那么顶部、左侧和右侧都会有巨大的间隙。任何想法?

\n\n
__________________________\n| ___________o__________ |\n| |                    | |\n| |____________________|o|\n|         o              |\n|                  o     |\n|    o                   |\n|          MAP           |\n|     o                  |\n|                   o    |\n| ______________________ |\n| |                    | |\n|o|                    | |\n| …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-maps-markers google-maps-android-api-2 android-maps-utils

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

我怎样才能制作两个谷歌地图听众?setOnCameraChangeListener

如何创建两个侦听器?一个用于群集,另一个将新的群集项加载到地图,如果地图上不存在群集项.

       //needed for clustering
       map.setOnCameraChangeListener(mClusterManager);

       // need for loading clusteritems
       map.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() {
       @Override
       public void onCameraChange(CameraPosition position) {

       // ifMarkesNotInsideMapReload...
Run Code Online (Sandbox Code Playgroud)

我认为这不可能,但有人可能会解决这个问题......

一个想法是设置一个起始位置并手动轮询更改..不酷:-)

我正在使用谷歌集群库:谷歌集群

android google-maps cluster-computing android-maps-utils

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

是否可以在特定标记android-maps-utils上对摄像机进行分离和居中?

我使用android-maps-utils,我想知道这种情况是否可行:

  1. MapFragment正在运行,并且引脚/标记已聚集
  2. 用户转到标记列表并转到所选标记的详细信息
  3. 用户从详细信息转到地图,并希望看到所选标记居中和解除聚集

是否可以调整缩放级别以对群集标记进行去群集并显示所选标记?

//此行将缩放到特定点map.animateCamera(CameraUpdateFactory.newLatLng(fault.getPosition()),null);

我不知道如何解除聚焦/缩放以显示特定的引脚,而无需设置最大/最小缩放

android markerclusterer android-maps-utils

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