使用 showInfoWindow 时如何在 Google Maps v2 上显示路线图标?

How to show the route icons on Google Maps v2 when using showInfoWindow?

当您在 Google 地图 v3 中点击标记时,右下角会出现两个图标。按下这些,您可以启动地图应用程序并导航到该位置。但是,如果您在 Marker 对象上调用 showInfoWindow 函数,这些图标将不会显示。有没有办法让它们出现,或者这是 Android 当前版本的错误?

其实我试过了,它可以在Android Google地图中显示路线图标。

您需要进行如下操作:

GoogleMap myMap;
myMap.getUiSettings().setMyLocationButtonEnabled(true);

您可以在我的 github here 上获取所有示例项目代码并自己尝试:) 只需在地图上长按设置一个标记,点击它,显示infoWindow,最后,它会显示图标。

我成功了,但只能使用 Google 地图 "Lite Mode" https://developers.google.com/maps/documentation/android-api/lite

layout.xml

<fragment
    android:id="@+id/mapFragment"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    class="com.google.android.gms.maps.SupportMapFragment"/>

在您的 Activity/Fragment 中调用此方法:

private void setUpMap() {
    GoogleMapOptions options = new GoogleMapOptions();
    options.liteMode(true).mapToolbarEnabled(true);
    SupportMapFragment mapFragment = SupportMapFragment.newInstance(options);
    FragmentTransaction transaction = getFragmentManager().beginTransaction();
    transaction.add(R.id.mapFragment, mapFragment).commit();
    mapFragment.getMapAsync(this);
}

让您的 Activity/Fragment 实现 OnMapReadyCallback 并添加此代码以将标记添加到您的地图:

@Override
public void onMapReady(GoogleMap googleMap) {
    googleMap.addMarker(new MarkerOptions()
            .position(getLatLng())
            .title("Your Title")).showInfoWindow();
    googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(getLatLng(), MAPS_ZOOM_FACTOR));
}

=> 现在这些图标始终可见。