【问题标题】:Distance between two locations - Google Maps两个地点之间的距离 - 谷歌地图
【发布时间】:2012-04-29 23:17:42
【问题描述】:

我正在尝试使用谷歌地图查找两点之间的位置。这是我正在使用的代码:

function initialize() {
          var myOptions = {
            center: new google.maps.LatLng(36.8813329,-103.6975488),
            zoom: 4,
            mapTypeId: google.maps.MapTypeId.ROADMAP
          };
          var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);

           var impactCoordinates = [
              new google.maps.LatLng(37.772323, -122.214897),
              new google.maps.LatLng(34.1633766,-81.6487862),
                             ];
            var ImpactPath = new google.maps.Polyline({
              path: impactCoordinates,
              strokeColor: "#FF0000",
              strokeOpacity: 1.0,
              strokeWeight: 2
            });

            ImpactPath.setMap(map);

            var loc1 = new google.maps.LatLng(37.772323, -122.214897);
            var loc2 = new google.maps.LatLng(34.1633766,-81.6487862);

            alert(google.maps.geometry.spherical.computeDistanceBetween(loc1, loc2));
        }

这是我从控制台得到的错误:

未捕获的类型错误:无法读取未定义的属性“球形”

【问题讨论】:

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


    【解决方案1】:

    如果您还没有这样做,请在 <script> 标记中显式添加几何库 src="http://maps.googleapis.com/maps/api/js?libraries=geometry&sensor=false">

    【讨论】:

    • 谢谢!这正是我所缺少的。
    • 上面的网址也是必须的;也就是说,http://maps.google.com/maps/api/js?sensor=false&?libraries=geometry 将不起作用。
    • @Arthur 那是因为您忘记删除问号。 &?libraries=geometry 应该是 &libraries=geometry
    • 谢谢。如果您使用 Google 地图,则只需将 name=value 对添加到查询字符串:“&libraries=geometry”。调试器说 sensor=false 不需要。现在要弄清楚返回的数字是多少(我需要里程)。乌鸦苍蝇没问题。
    猜你喜欢
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 2010-12-02
    • 2013-09-30
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多