computeArea()在google map api v3中返回[object object]

时间:2014-08-15 17:39:13

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

尝试计算矩形区域时遇到麻烦

在这里a link到我创建的网站。

已正确绘制矩形,但区域计算错误。

以下是我在JavaScript中的代码:

  var Area;
  var areaPath;
  function initialize() {
    var map = new google.maps.Map(document.getElementById('map-canvas'), {
      zoom: 11,
      center: new google.maps.LatLng(39.912106, 116.397346),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var rectBoundsLatlng = new Array;
    var rectBoundsLatlngPath = new Array;

    rectBoundsLatlng[0] = new google.maps.LatLng(39.907679, 116.342119),
    rectBoundsLatlng[1] = new google.maps.LatLng(39.950330, 116.394133),
    rectBoundsLatlngPath[0] = new google.maps.LatLng(rectBoundsLatlng[1].lat(),rectBoundsLatlng[0].lng()),
    rectBoundsLatlngPath[1] = new google.maps.LatLng(rectBoundsLatlng[0].lat(),rectBoundsLatlng[1].lng())

    var areaPath = [
      rectBoundsLatlng[0],
      rectBoundsLatlngPath[0],
      rectBoundsLatlng[1],
      rectBoundsLatlngPath[1],
      rectBoundsLatlng[0]
    ];

    Area = new google.maps.geometry.spherical.computeArea( areaPath );
    alert(Area);

   }
   google.maps.event.addDomListener(window, 'load', initialize);

希望有人可以帮我解决这个问题。 顺便说一下,已经包含了几何库。

1 个答案:

答案 0 :(得分:1)

删除“新”。改变:

Area = new google.maps.geometry.spherical.computeArea( areaPath ); 

要:

Area = google.maps.geometry.spherical.computeArea( areaPath );

working fiddle