相关疑难解决方法(0)

如何在谷歌地图中设置缩放级别

这是我编写的代码,通过提供纬度和经度将标记添加到谷歌地图.问题是我得到了一个非常高度缩放的谷歌地图.我已经尝试将缩放级别设置为1,但这对高度缩放的地图没有影响.

 <script src="http://maps.google.com/maps/api/js?v=3&sensor=false" type="text/javascript"></script>
     <script type="text/javascript">
        var icon = new google.maps.MarkerImage("http://maps.google.com/mapfiles/ms/micons/blue.png",new google.maps.Size(32, 32), new google.maps.Point(0, 0),new google.maps.Point(16, 32));
        var center = null;
        var map = null;
        var currentPopup;
        var bounds = new google.maps.LatLngBounds();
        function addMarker(lat, lng, info) {
            var pt = new google.maps.LatLng(lat, lng);
            bounds.extend(pt);
            var marker = new google.maps.Marker({
                position: pt,
                icon: icon,
                map: map
            });
            var popup = new google.maps.InfoWindow({
                content: info,
                maxWidth: 300
            });
            google.maps.event.addListener(marker, "click", function() {
                if (currentPopup != null) {
                    currentPopup.close();
                    currentPopup = null; …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3

60
推荐指数
5
解决办法
21万
查看次数

Android:如何将地图视图的缩放级别设置为当前位置周围1公里半径?

我想将地图视图缩放到1公里半径,但无法弄清楚如何?

该文档说缩放级别1将地球赤道映射到256像素.那么如何计算我需要设置的缩放级别,以便地图视图显示1KM半径的区域?

更新:
阅读几篇博文后,我写了以下代码:

private int calculateZoomLevel() {
    double equatorLength = 6378140; // in meters
    double widthInPixels = screenWidth;
    double metersPerPixel = equatorLength / 256;
    int zoomLevel = 1;
    while ((metersPerPixel * widthInPixels) > 2000) {
        metersPerPixel /= 2;
        ++zoomLevel;
    }
    Log.i("ADNAN", "zoom level = "+zoomLevel);
    return zoomLevel;
}
Run Code Online (Sandbox Code Playgroud)

我的想法是,首先我在缩放级别1中计算每像素的米数,根据谷歌显示使用256像素的地球赤道.现在,每个后续缩放级别放大2级,因此每个缩放级别的每个像素的一半.我这样做,直到我有一个缩放级别,每个像素的米乘以屏幕宽度给我小于2000,即2公里跨.

但我不认为我得到的缩放级别显示的是2Km半径的地图.有人可以告诉我这里我做错了什么吗?

android google-maps zoom android-mapview

51
推荐指数
7
解决办法
5万
查看次数

根据位置准确性确定Google地图的合理缩放级别

我正在尝试将Google地图集中到用户位置,同时考虑到该位置的准确性,提供合理的缩放级别.任何人都可以描述我应该如何计算它?涉及哪些变量,您是如何实现这一目标的?

java android google-maps

6
推荐指数
1
解决办法
1876
查看次数

在android中将谷歌地图缩放到以英里为单位的特定半径

我想zoomGoogle map在英里的半径特定比如说10英里/ 20英里/ 30英里等按我的条件在android系统。

我需要的是从当前经纬度点绘制一个特定半径(10/20/30.. 英里)的圆,并将地图缩放到我已经绘制了带有半径的圆的特定英里。

我能够指出我当前的位置,绘制圆圈。但是我无法将地图缩放到所需的半径英里(圆圈应该以我当前的位置为中心以指定的英里为中心聚焦在屏幕上)。

目前我正在使用以下代码进行缩放:

gooMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(selectedLat, selectedLong), 15));
                    gooMap.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
                    Log.e("Circle Lat Long:", selectedLat + ", " + selectedLong);
                    circle.remove();
                    circle = gooMap.addCircle(new CircleOptions()
                            .center(new LatLng(selectedLat, selectedLong))
                            .radius(iMiles * 1609.34) // Converting Miles into Meters...
                            .strokeColor(Color.RED)
                            .strokeWidth(5));
                    circle.isVisible();
Run Code Online (Sandbox Code Playgroud)

我知道将缩放级别设置为 15 不会将地图缩放到所需的英里数。但我需要缩放地图以达到英里半径。我怎样才能实现它。任何人都可以帮助我。 编辑:-添加的图像详细解释了我需要的内容。Image_1:- 当我将半径设置为 10 英里时,地图应如图所示缩放。Image_2 当我将半径设置为 50 英里时,地图应如图所示缩放。请查看地图位置的差异以分析我需要的缩放级别。 图片_1 图片_2 提前致谢。

android google-maps google-maps-api-3 android-maps android-maps-v2

4
推荐指数
1
解决办法
8216
查看次数