如何在 Android 的 Google 地图中显示路线时缩放到源点。

Posted

技术标签:

【中文标题】如何在 Android 的 Google 地图中显示路线时缩放到源点。【英文标题】:How can i Zoom to source Point while showing Directions in Google Maps in Android. 【发布时间】:2013-07-22 05:28:53 【问题描述】:

我正在使用以下代码....

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://maps.google.com/maps?saddr="
+ 35.63508 + "," + -88.83184 + "&daddr="+ destinationLatitude + ","+ destinationLongitude));

【问题讨论】:

【参考方案1】:

我使用以下代码缩放到mapview 上的特定点

在您的 MapActivity 调用 zoomToMyLocation() 中,您可以在该函数中指定源点的纬度和经度。这里我们使用getController 来设置缩放();

private void zoomToMyLocation() 
            GeoPoint myLocationGeoPoint = getgetPoint(29.0167, 77.3833);

            if (myLocationGeoPoint != null) 

                    mapView.getController().animateTo(myLocationGeoPoint);
                    mapView.getController().setZoom(10);

             else 
                Toast.makeText(this, "Cannot determine location",
                 Toast.LENGTH_SHORT).show();
            
        

        private GeoPoint getPoint(double lat, double lon) 
            return (new GeoPoint((int) (lat * 1000000.0), (int) (lon * 1000000.0)));
        

相关链接:

Zooming and animating to point mapview android

EDIT1

如果您只使用意图而不是地图视图活动,请参阅此链接 Android - How to launch Google map intent in android app with certain location, zoom level and marker

EDIT2

由于意图只允许您指定一个点,因此您只能缩放到一个点。AFAIK 您必须创建一个 MapActivity,mapview 的地图控制器允许您使用

放大一个跨度
mapView.getController().zoomToSpan(lat,lon ,lat1,lon1);

【讨论】:

我没有从 MapActivity 扩展,因为没有主要功能,我只需要显示两点之间的方向并缩放到源点。我直接通过 Intent 传递积分。 首先更新您的问题并正确陈述您的问题并解释您使用代码的内容。以便人们帮助您。您的问题非常模棱两可 我需要显示两个 GeoPoints 之间的行车方向,在显示方向后我需要自动放大源点。为此,我在下面使用了代码 Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("maps.google.com/maps?saddr=" + 35.63508 + "," + -88.83184 + "&daddr=" + destinationLatitude + "," + 目的地经度+"&z=16")); 感谢您的帖子 Rachita ..我试过那个链接。它一次只显示一个点。它也可以很好地缩放到该点,但我无法显示方向。所以我想它可能不适用于 2 个 GeoPoints。 由于意图只允许您指定一个点,因此您只能缩放到一个点。AFAIK 您必须创建一个 MapActivity,mapview 的地图控制器允许您使用 mapView.getController() 放大一个跨度。 zoomToSpan(lat,lon ,lat1,lon1);

以上是关于如何在 Android 的 Google 地图中显示路线时缩放到源点。的主要内容,如果未能解决你的问题,请参考以下文章

Google Maps Android Studio - 如何禁用地图控件?

如何在 Android 的 Google 地图中显示路线时缩放到源点。

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

如何在 Android 中的 onMapReady() 之外添加 Google 地图标记?

如何通过滑行在 Google 地图上的 infoWindow 中获取图像 - Android

如何设置 Android Google Maps API v2 地图以显示全球地图?