0

私はこのグーグルマップのJavaScriptコードで愚かな苦労をしています。Googleマップで作成された円の半径を返したいです。Google API はコードを提供していますが、どこに置くべきかわかりません。私はどこでも試しました。これが以下のコードです。私は何を間違えましたか?

<!DOCTYPE html>
<html>
<head>

<meta name="viewport" content="initial-scale=1.0, user-scalable=no">

<meta charset="utf-8">

<style type="text/css"> 
 html { height: 100% }
 body { height: 100%; margin: 0px; padding: 0px }
 #map_canvas { height: 50% }
</style> 

<script type="text/javascript"
  src="http://maps.googleapis.com/maps/api/js?key=mykey&sensor=false&libraries=drawing">
</script>

<script>
  function initialize() {
    var mapOptions = {
      center: new google.maps.LatLng(33.65, -84.42),
      zoom: 7,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var map = new google.maps.Map(document.getElementById('map_canvas'),
      mapOptions);

    var drawingManager = new google.maps.drawing.DrawingManager({
      drawingMode: google.maps.drawing.OverlayType.MARKER,
      drawingControl: true,
      drawingControlOptions: {
        position: google.maps.ControlPosition.TOP_CENTER,
        drawingModes: [

          google.maps.drawing.OverlayType.CIRCLE
        ]
      },

      circleOptions: {
        fillColor: '#01939A',
        fillOpacity: .4,
        strokeWeight: 5,
        clickable: false,
        editable: true,
        zIndex: 1
      }
    });




    drawingManager.setMap(map);





     }

  google.maps.event.addDomListener(window, 'load', 

  initialize).addListener(drawingManager, 'circlecomplete', function(circle) 

  {

  var radius = circle.getRadius();

  });

</script>

</head>

<body>

<script type="text/javascript" >

        alert(radius);

</script>


<div id="map_canvas"></div>

</body>

</html>
4

1 に答える 1

2

ここでいくつかの流れの問題があるようです。初期化関数によってバインドされている drawingManager 変数を使用しようとしています。

ここ: http://jsfiddle.net/RN3QL/ - サークル完了関数のバインドを初期化関数内に移動し、いくつかの小さなフローの問題をつなぎ合わせました。

于 2012-07-27T21:18:18.133 に答える