相关疑难解决方法(0)

计算多个纬度/经度坐标对的中心点

给定一组纬度和经度点,如何计算该集合中心点的纬度和经度(也就是将所有点的视图居中的点)?

编辑:我用过的Python解决方案:

Convert lat/lon (must be in radians) to Cartesian coordinates for each location.
X = cos(lat) * cos(lon)
Y = cos(lat) * sin(lon)
Z = sin(lat)

Compute average x, y and z coordinates.
x = (x1 + x2 + ... + xn) / n
y = (y1 + y2 + ... + yn) / n
z = (z1 + z2 + ... + zn) / n

Convert average x, y, z coordinate to latitude and longitude.
Lon = atan2(y, …
Run Code Online (Sandbox Code Playgroud)

math geo latitude-longitude

134
推荐指数
8
解决办法
10万
查看次数

在Google地图中查找多个位置的中心

我刚刚复制了这个问题的代码并应用了我的纬度和经度.然而,纬度和经度将是动态的,并且center地图的位置将根据位置的纬度和经度而改变.

以下是其他问题的代码

<!DOCTYPE html>
<html>

    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
        <title>Google Maps Multiple Markers</title>
        <script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
    </head>

    <body>
        <div id="map" style="width: 500px; height: 400px;"></div>
        <script type="text/javascript">
            var locations = [
                ['Bondi Beach', -33.890542, 151.274856, 4],
                ['Coogee Beach', -33.923036, 151.259052, 5],
                ['Cronulla Beach', -34.028249, 151.157507, 3],
                ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
                ['Maroubra Beach', -33.950198, 151.259302, 1]
            ];

            var map = new google.maps.Map(document.getElementById('map'), {
                zoom: 10,
                center: new google.maps.LatLng(-33.92, 151.25),
                mapTypeId: google.maps.MapTypeId.ROADMAP
            });

            var infowindow = …
Run Code Online (Sandbox Code Playgroud)

google-maps

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

两个纬度和经度之间的中点

我正在尝试将此http://www.movable-type.co.uk/scripts/latlong.html中提供的代码段转换为java.但是我没有得到与网站相同的结果.这是我的代码,用于找到两个点之间的中点,其中给出了它们的纬度和经度

midPoint(12.870672,77.658964,12.974831,77.60935);
    public static void midPoint(double lat1,double lon1,double lat2,double lon2)
    {
   double dLon = Math.toRadians(lon2-lon1);
        double Bx = Math.cos(lat2) * Math.cos(dLon);
        double By = Math.cos(lat2) * Math.sin(dLon);
        double lat3 = Math.atan2(Math.sin(lat1)+Math.sin(lat2),Math.sqrt( (Math.cos(lat1)+Bx)*(Math.cos(lat1)+Bx) + By*By) );
        double lon3 = lon1 + Math.atan2(By, Math.cos(lat1) + Bx);
        System.out.print(lat3 +" " + lon3 );
    }
Run Code Online (Sandbox Code Playgroud)

我不确定dLon是否正确.所以请帮助我们弄明白.PSI需要找到中点的纬度和经度

java math maps

26
推荐指数
2
解决办法
3万
查看次数

更改Google地图抵消中心

我正在尝试在地图上设置用户位置,使其位于距离屏幕底部大约1/3的位置,当地图旋转时,它将围绕此点旋转.

我最接近实现这一点的setPadding()方法是使用这种方法,然而,这会导致地图在旋转时进行抖动,因为中心点会"浮动"在实际应该的位置.它看起来很难看

int mapHeight = mapView.getHeight();
googleMap.setPadding(0, mapHeight / 5, 0, 0);
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

编辑:如下图所示

在此输入图像描述

android google-maps offset

9
推荐指数
1
解决办法
3027
查看次数

如何找到多个点的中心?Android的

我有多个点放在我的MapView上,并希望将地图置于这些点上,即不是任何特定的点,只是它们的平均中心.

我知道在Javascript G. Maps API中有一种方法.我想知道在Android中是否有一种先行方法可以做到这一点?

java android android-mapview

3
推荐指数
2
解决办法
1万
查看次数