【问题标题】:How To Get Coordinates of the google maps Corners?如何获取谷歌地图角落的坐标?
【发布时间】:2015-10-29 06:34:23
【问题描述】:

另一方面,我需要用四个坐标绘制多边形,这些坐标用于缩放 13 中加载地图的四个角,另一方面,获取整个地图的坐标以显示给用户。 (用户搜索特定区域并在地图上绘制多边形,但如果他/她不绘制多边形,我想为他/她绘制投影地图大小的多边形并显示结果。)

【问题讨论】:

    标签: javascript google-maps google-maps-api-3 web


    【解决方案1】:

    以缩放比例创建地图:13

    var map = new google.maps.Map(document.getElementById("map"), {
        center: {lat: 51.561162, lng: -0.163331},
        zoom: 13
    });
    

    然后使用map.getBounds()获取可见地图的LatLngBounds。

    var bounds = map.getBounds();
    

    然后您可以使用它来获取西南角和东北角的 LatLng 坐标:

    var NECorner = bounds.getNorthEast();
    var SWCorner = bounds.getSouthWest();
    

    然后您可以使用它们来计算其他两个角的坐标:

    var NWCorner = new google.maps.LatLng(NECorner.lat(), SWCorner.lng());
    var SECorner = new google.maps.LatLng(SWCorner.lat(), NECorner.lng());
    

    最后绘制多边形,使用paths 数组的这些角:

    var polygon = new google.maps.Polygon({
        map: map,
        paths: [NWCorner, NECorner, SECorner, SWCorner],
        fillColor: 'red',
        fillOpacity: 0.7
    });
    

    【讨论】:

      【解决方案2】:

      谢谢邓肯 让我为 Kotlin 开发人员写一个简短的形式

      var bounds = googleMap!!.projection.visibleRegion.latLngBounds
      var neCorner = bounds.northeast
      var swCorner = bounds.southwest
      var nwCorner = LatLng(neCorner.latitude, swCorner.longitude)
      var seCorner = LatLng(swCorner.latitude, neCorner.longitude)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多