android:无法在地图上添加当前位置

Posted

技术标签:

【中文标题】android:无法在地图上添加当前位置【英文标题】:android: Can't add current location on map 【发布时间】: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 应用上一样 在您发布的当前代码中,您没有执行任何显示当前位置的操作。 【参考方案1】:

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

【讨论】:

以上是关于android:无法在地图上添加当前位置的主要内容,如果未能解决你的问题,请参考以下文章

首次加载android后如何禁用谷歌地图当前位置跟踪

Android怎么实现点击按钮获取当前位置的信息,没有地图的情况下。

嵌入式谷歌地图无法在 WebView 中获取当前位置

谷歌地图中的当前位置并将接收到的位置存储在 TextView 上

如何在android中的地图上显示当前位置标记?

如何在 Android Marshmallow 上的 Google 地图上显示当前位置?