当前位置: 首页 > 面试题库 >

Google地图:当前位置标记(GMaps的定期更新)

黄君博
2023-03-14
问题内容

因此,我已经能够通过开发人员的android页面获取我当前位置的定期更新,从而使您的应用知道位置。现在,只要我的位置发生变化,我就可以获取该位置的纬度和经度。但是,谁可以在Google
Maps中实现呢?

下面的这一行在地图上实现了一个按钮,该按钮可找到我的当前位置并在其上放置一个蓝点/标记(不接收定期更新)

mMap.setMyLocationEnabled(true);

我应该在onLocationChanged()活动中添加些什么,以便用 新的 经纬度和经度更新蓝点?


问题答案:

蓝点和精确度圆由地图自动管理,您无法对其进行更新或更改其符号系统。实际上,它是使用自己的LocationProvider自动管理的,因此可以获得最佳的位置解析度(您无需编写代码即可对其进行更新,只需使用即可启用它mMap.setMyLocationEnabled(true);)。

如果要模拟它的行为,可以编写如下代码(您应该禁用我的location层mMap.setMyLocationEnabled(false);):

private BitmapDescriptor markerDescriptor;
private int accuracyStrokeColor = Color.argb(255, 130, 182, 228);
private int accuracyFillColor = Color.argb(100, 130, 182, 228);

private Marker positionMarker;
private Circle accuracyCircle;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // ...

    markerDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.yourmarkericon);
}

@Override
public void onLocationChanged(Location location) {
    double latitude = location.getLatitude();
    double longitude = location.getLongitude();
    float accuracy = location.getAccuracy();

    if (positionMarker != null) {
        positionMarker.remove();
    }
    final MarkerOptions positionMarkerOptions = new MarkerOptions()
            .position(new LatLng(latitude, longitude))
            .icon(markerDescriptor)
            .anchor(0.5f, 0.5f);
    positionMarker = mMap.addMarker(positionMarkerOptions);

    if (accuracyCircle != null) {
        accuracyCircle.remove();
    }
    final CircleOptions accuracyCircleOptions = new CircleOptions()
            .center(new LatLng(latitude, longitude))
            .radius(accuracy)
            .fillColor(accuracyFillColor)
            .strokeColor(accuracyStrokeColor)
            .strokeWidth(2.0f);
    accuracyCircle = mMap.addCircle(accuracyCircleOptions);
}


 类似资料:
  • 我是新的android,我想显示我当前的位置像“巴基斯坦拉合尔乔哈尔镇”。有什么需要帮忙的吗?

  • 问题内容: 我正在开发一个包含3个活动的android应用程序,其中一个是map。我正在使用谷歌地图 我想要的是: 当用户打开活动(地图)时,它将向用户显示她的位置而不是坐标。 用户还应该能够通过使用大头针定位(固定)任何地方,而我的应用程序必须将此大头针的坐标存储在变量中,以便以后使用。 这是CustomPinpoint类 问题答案: 我已经实现了您想要的相同的东西。我为您提供示例代码。在这种情

  • 我想更改默认的当前位置标记颜色从蓝色到其他。任何人都可以帮我解决这个问题。 下面是我要更改的图标颜色:

  • 问题内容: 最后,我成功显示了地图,现在,我想显示我的当前位置,我尝试使用这些代码,但是当我单击右上角的我的位置按钮时,它不起作用。 AndroidManifest.xml MapsActivity.java 问题答案: 将此代码用于当前位置:

  • 问题内容: 我一直在 这里 找到有关Google Maps上的PHP / MYSQL教程。 我希望每5秒钟左右从数据库更新一次标记。 据我了解,我需要使用Ajax定期更新标记,但是我很难理解要在哪里添加函数以及在哪里使用 setTimeout() 等 我发现的所有其他示例并没有真正说明正在发生的事情,一些有用的指导会很棒! 这是我的代码(与Google示例相同,但有一些 var 更改): 我希望有

  • 我正在用html/jsp页面主体中的Google地图做一个web动态项目。 我制作了一个函数,可以创建一个标记(lat、lng、map),并在标记的参数中使用一个特殊的image.png作为图标。 在我的地图中,我制作了两种不同的样式(地图的颜色…)“白天”和“夜晚”。 我想知道当用户点击夜间更改样式时,我如何更改标记的图标。事实上,标记的颜色不适合这种风格的地图... 我尝试用相同的名称初始化不