2012-07-27 98 views
0

我有一個愚蠢的困難與這個谷歌地圖JavaScript代碼。我想獲得在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> 

回答

2

您似乎在這裏有一些流動問題。嘗試使用由initialize函數綁定的drawingManager變量。

Here:http://jsfiddle.net/RN3QL/ - 我已經將circle complete函數的綁定移動到初始化函數中,並縫合了一些較小的流量問題。

+0

你是男人。我很感激幫助。 – jason328 2012-07-27 21:22:43