【问题标题】:android: Can't add current location on mapandroid:无法在地图上添加当前位置
【发布时间】:2018-04-30 20:30:36
【问题描述】:

我无法将我当前/更新的位置放在包含其他数据的地图上。请看下图。我需要它,因为我会在车辆位置和我当前位置之间做一个距离,无论如何该怎么做?此活动由片段扩展。我真的需要你的帮助。

这是我的OnMapReady

public void onMapReady(GoogleMap googleMap) {
    mMapProximity = googleMap;
    mMapProximity.setBuildingsEnabled(true);
    mMapProximity.getUiSettings().setRotateGesturesEnabled(false);

    setUpMap();
}
private void setUpMap() {
    mMapProximity.clear();
    mMapProximity.setMapType(GoogleMap.MAP_TYPE_NORMAL);
    mMapProximity.setIndoorEnabled(true);
    mMapProximity.setBuildingsEnabled(true);
    mMapProximity.getUiSettings().setZoomControlsEnabled(false);

    final Double lati = Double.parseDouble(latitudeProxListMap);
    final Double longi = Double.parseDouble(longitudeProxListMap);

    m = mMapProximity.addMarker(new MarkerOptions()
            .position(new LatLng(lati, longi))
            .anchor(0.5f, 0.5f)
            .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin_logo))
            .visible(true));

    mMapProximity.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
        @Override
        public void onInfoWindowClick(Marker marker) {
            marker.showInfoWindow();
        }
    });

    mMapProximity.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lati, longi), 17.0f));

    mMapProximity.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {

        @Override
        public boolean onMarkerClick(final Marker marker) {

            if (marker.isInfoWindowShown()) {
                marker.hideInfoWindow();
            } else {
                marker.showInfoWindow();
            }

            return true;
        }
    });

    mMapProximity.setInfoWindowAdapter(new MarkerInfoWindowAdapter());

    m.showInfoWindow();
}


class MarkerInfoWindowAdapter implements GoogleMap.InfoWindowAdapter {

    @Override
    public View getInfoWindow(Marker marker) {
        return null;
    }

    @Override
    public View getInfoContents(Marker marker) {

        View v = getActivity().getLayoutInflater().inflate(R.layout.info_vehicle_list_map, null);
        TextView title =v.findViewById(R.id.title);
        TextView snippet =v.findViewById(R.id.snippet);
        snippet.setVisibility(View.GONE);
        title.setText("Location: " + location);
        return v;
    }

}

【问题讨论】:

  • 你遇到了什么麻烦?
  • 嗨@VivekMishra,把我现在的位置加上上面的截图放在地图上
  • 您在地图上的哪个位置添加您的位置。我只能看到你在地图上添加了一个标记。
  • 我的计划是查看车辆的位置和我当前的位置,计算我要行驶多少分钟才​​能到达我的车辆位置并添加折线。就像在 GRAB 应用上一样
  • 在您发布的当前代码中,您没有执行任何显示当前位置的操作。

标签: android google-maps android-fragments android-maps-v2 android-gps


【解决方案1】:

在您的活动中实施 LocationListener,然后在 onLocationChange 方法中使用当前位置值更新标记。这将在当前位置放置一个标记。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多