빙 맵 원 그리 기

최근 bing 지도 에 원 을 그 려 야 합 니 다. bing 지 도 는 원 을 그 리 는 API 를 직접 제공 하지 않 아 그리 기 가 귀 찮 습 니 다. 인터넷 에서 찾 아 본 끝 에 원 을 그 리 는 방법 을 찾 았 습 니 다.아래 의 코드 는 내 가 정리 한 코드 인 데, 그 중에서 원 함 수 를 그 려 서 네트워크 로 간다.원 을 그리 기 가 어렵 기 때문에 여러분 도 시행 착 오 를 줄 이도 록 나 눠 드 리 겠 습 니 다.
    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<title>bing map  </title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<script type="text/javascript"
			src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2&mkt=zh-cn"></script>
		<script type="text/javascript">
         var map     = null;
         function GetMap()
         {
            map = new VEMap('myMap');
            map.LoadMap();
            map.SetZoomLevel(14);
            var latLon=new VELatLong(34.79248399030799,113.69712352752688);
            //       
            map.SetCenter(latLon);
            map.SetMouseWheelZoomToCenter(false);
            //  ,     latLon   ,   1km   
            drawCircle(latLon,1);
         }
		 //     origin   ,radius      km
		function drawCircle(origin, radius) {
			var earthRadius = 6371;
		    //    
			var lat = (origin.Latitude * Math.PI) / 180;
		    //    
			var lon = (origin.Longitude * Math.PI) / 180;
			var d = parseFloat(radius) / earthRadius;
			var points = new Array();
			for (i = 0; i <= 360; i++) {
				var point = new VELatLong(0, 0);
				var bearing = i * Math.PI / 180; 
				point.Latitude = Math.asin(Math.sin(lat) * Math.cos(d) + Math.cos(lat) * Math.sin(d) * Math.cos(bearing));
				point.Longitude = ((lon + Math.atan2(Math.sin(bearing) * Math.sin(d) * Math.cos(lat), Math.cos(d) - Math.sin(lat) * Math.sin(point.Latitude))) * 180) / Math.PI;
				point.Latitude = (point.Latitude * 180) / Math.PI;
				points.push(point);
			}
			var circle = new VEShape(VEShapeType.Polygon, points);
			//     
			circle.SetLineColor(new VEColor(255, 0, 0, 0));
			circle.HideIcon();
			map.AddShape(circle);
		}
      </script>
	</head>
	<body onload="GetMap();">
		<div id='myMap'
			style="position: relative; width: 400px; height: 400px;"></div>
	</body>
</html>

좋은 웹페이지 즐겨찾기